说我有以下字符串
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),直到...old4
将第1组和
new2
的内容替换为new4
关于java - Java Regex多模式组替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24815523/