我想替换一些标签内的内容,例如:
<p>this it to be replaced</p>
str = str.replaceAll("<p>([^<]*)</p>","replacement");
解决方法
将正则表达式更改为:
(?<=<p>).*?(?=</p>)
即
str = str.replaceAll("(?<=<p>).*?(?=</p>)","replacement");
这使用“后视”和“向前看”来断言,而不是捕获匹配(非贪心)正则表达式之前/之后的输入
万一有人想知道,这个答案与dacwe不同:他使用不必要的括号.这个答案是比较优雅的:)
原文地址:https://www.jb51.cc/java/121645.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。