[英]How to use Matcher to properly replace all occurences of a pattern inside a string
我正在使用Matcher
在包含文本的String
中查找特定模式。
正则表达式检查各种模式,例如是否简单:
\\\\bword1\\\\b|(\\\\b(?:word2(?:(\\\\s+)word3)?)?)
等
无论如何,我可以在字符串中找到模式。
到目前为止,还可以。
我想要的是能够使用Matcher.replaceAll
来替换找到的每个模式, 并以相同的模式添加一些附加的模式 。
例如
如果匹配器在某处找到了word1
,我想用{v}word1{v}
替换它。
我试图将匹配器找到的组添加到列表中,然后循环遍历输入字符串以替换所有字符串,但显然这是行不通的。
更新:
我可以匹配所需的术语,并且@Luis regex进行替换,但是我需要替换所有 String。
通过循环并在字符串中执行正则表达式"pattern", "{v}$0{v}")
,我打破了以前发生的情况。 我需要以某种方式在replaceAll中加入否定的含义 ,以便了解术语何时已被替换
更新:
使用@Luis正则表达式并在其后面使用负向外观
更新:
"pattern".replaceAll("pattern", "{v}$0{v}"))
我已经对此进行了测试,并根据需要返回“ {v}模式{v}”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.