Java正则表达式没有取代我的模式

时间:2017-03-14 06:05:41

标签: java regex

代码:

record = record.replace("%icmp4-echo.*%","%\"icmp4-echo.*\"%");
记录原来是:

%icmp4-echobalabalabalabala%

希望被替换为:

%"icmp4-echobalabalabalabala"%

但我的代码不起作用。需要一些帮助或提示。 谢谢!

1 个答案:

答案 0 :(得分:7)

使用String#replaceAll()

String input = "%icmp4-echobalabalabalabala%";
input = input.replaceAll("%(icmp4-echo.*?)%", "%\"$1\"%");

在这里,我们匹配模式%(.*?)%,然后将其替换为%"$1"%。数量$1是一个捕获组,等于括号内的任何内容。作为旁注,我使捕获组(.*?)非贪婪,以防您想要替换字符串中的多个匹配项。