我使用Matcher
查找包含文字的String
中的特定模式
正则表达式检查各种模式,例如为简单起见:
\\bword1\\b|(\\b(?:word2(?:(\\s+)word3)?)?)
等
无论如何,我可以在字符串中找到模式 到目前为止还好。
我想要的是,能够使用Matcher.replaceAll
来替换找到的每个模式,使用相同的模式但是添加一些。
E.g。
如果匹配器在某处找到word1
,我想用{v}word1{v}
替换它。
这是如何做得最好的?我试图添加匹配器在列表中找到的组,然后循环输入字符串以替换所有但显然这不起作用。
更新
我可以匹配我需要的术语和@Luis正则表达式替换,但我需要替换我的String中的 all 。
通过循环并在字符串中执行正则表达式"pattern", "{v}$0{v}")
,我打破了之前发生的事件。我需要以某种方式在replaceAll中包含负面的lookbehind,以便了解术语何时被替换
更新
使用@Luis regex和负面的lookbehind它起作用了
答案 0 :(得分:1)
更新:
"pattern".replaceAll("pattern", "{v}$0{v}"))
我已对此进行了测试,并根据需要返回“{v} pattern {v}”。