【发布时间】:2012-02-16 02:53:00
【问题描述】:
我正在使用 Matcher 在包含文本的 String 中查找特定模式。
正则表达式检查各种模式,例如为简单起见:\\bword1\\b|(\\b(?:word2(?:(\\s+)word3)?)?) 等
无论如何我都能在字符串中找到模式。
到目前为止还可以。
我想要的是能够使用Matcher.replaceAll 来替换找到的每个模式,使用相同的模式,但添加了一些内容。
例如
如果匹配器在某处找到word1,我想将其替换为{v}word1{v}。
最好如何做到这一点?我尝试添加匹配器在列表中找到的组,然后遍历输入字符串以替换所有组,但显然这不起作用。
更新:
我可以匹配我需要的条款,@Luis 正则表达式进行替换,但我需要替换我的字符串中的 all。
通过循环并在字符串中执行正则表达式"pattern", "{v}$0{v}"),我打破了我之前所做的事情。我需要以某种方式在 replaceAll 中包含一个否定的lookbehind,以便了解一个术语何时已被替换
更新:
使用@Luis 正则表达式和负向查看它的工作原理
【问题讨论】: