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

标签 java regex

代码:

record = record.replace("%icmp4-echo.*%","%\"icmp4-echo.*\"%");

原始记录是:

%icmp4-echobalabalabalabala%

想要替换为:

%"icmp4-echobalabalabalabala"%

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

最佳答案

使用String#replaceAll() :

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

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

关于Java 正则表达式没有取代我的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42778804/

相关文章:

java - Spring Kafka 应用程序的应用程序负载测试期间未找到主题错误

java - 一次只能请求一组权限。试图访问我的安卓相机

python - 解析日期和时间

java正则表达式,读取文件夹

python - 将字母转换为小写

regex - 如何使用sed匹配月日年模式?

regex - 正则表达式:过滤字符串

java - 从 HttpSessionListener 中获取用户名

java - 如何将音符名称和频率存储为数据以在java中的其他类中使用

java - 添加有关新主机的信息