假设我有以下字符串
String Context = "old1 old2 old3 old4 old5 old6"
我希望做一个模式:(old2).*(old4)
因此单词 2 将位于 $1
中,而单词 4 将位于 $2
中。
是否有任何函数或方法可以同时替换两个单词字符串?仅使用组变量($1
和 $2
)?
因此我可以指定 $1
将变为 new2
,而 $2
将变为 new4
。
我不想找到字符串 old2
和 old4
并将其替换为 new2
和 new4
最佳答案
只需要一组
如果我理解的话,这就是您所需要的:
String replaced = yourString.replaceAll("old2(.*?)old4", "new2$1new4");
说明
old2
匹配文字字符(.*?)
延迟匹配字符(将它们捕获到第 1 组),最多...旧4
- 将第 1 组和
new4
的内容替换为new2
关于Java正则表达式多模式组替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24815523/