说我有以下字符串

String Context = "old1 old2 old3 old4 old5 old6"


我想做一个模式:(old2).*(old4)

因此单词2将在$1中,而单词4将在$2中。

有没有可以同时替换两个单词字符串的函数或方法?仅使用组变量($1$2)?

因此,我可以指定$1将成为new2,而$2将成为new4
我不想找到字符串old2old4并将其替换为new2new4

最佳答案

只需要一组

如果我理解的话,这就是您所需要的:

String replaced = yourString.replaceAll("old2(.*?)old4", "new2$1new4");


说明


old2匹配文字字符
(.*?)懒惰地匹配字符(将它们捕获到组1),直到...
old4
将第1组和new2的内容替换为new4

关于java - Java Regex多模式组替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24815523/

10-09 05:07