我可以替换Java正则表达式中的组吗?

我可以替换Java正则表达式中的组吗?,第1张

我可以替换Java正则表达式中的组吗?

使用

$n
(其中n是数字)来引用中捕获的子序列
replaceFirst(...)
。我假设您想用文字字符串
“ number” 替换第一组,并用第一组的值替换第二组。

Pattern p = Pattern.compile("(\d)(.*)(\d)");String input = "6 example input 4";Matcher m = p.matcher(input);if (m.find()) {    // replace first number with "number" and second number with the first    String output = m.replaceFirst("number ");  // number 46}

考虑

(D+)
第二组而不是
(.*)

*
是一个贪婪的匹配器,首先会消耗最后一位。当匹配器意识到最终的
(d)
匹配项时,匹配器将不得不回溯,然后才可以匹配最终的数字。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5140574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存