java - 删除字符串中 "<"和 ">"之间的任何内容

标签 java regex string

我尝试过 restString = restString.replaceAll("\\<.*\\>", "");

restString = restString.replaceAll("\\<[^(\\>)]*\\>", "");

两者似乎都不起作用。不知道能不能表达出正则表达式的意思。

最佳答案

要使用正则表达式解决此问题,您需要“环顾四周” - 使用lookbehind和lookbefore:

restString = restString.replaceAll("(?<=&lt;).*(?=&gt;)", "");

lookaround 表达式将由正则表达式引擎计算,但它们不会成为匹配的一部分。 这样就可以删除 << 之间的所有内容。和>

如果它应该是非贪婪的并且能够匹配多行,请使用像 anubhava 建议的表达式:

restString = restString.replaceAll("(?s)(?<=&lt;).*?(?=&gt;)", "");

要了解有关环视的更多信息,请访问此页面:http://www.regular-expressions.info/lookaround.html

关于java - 删除字符串中 "&lt;"和 "&gt;"之间的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19524947/

相关文章:

Java 比较器字母数字字符串

java - 如何使用 netbeans IDE 添加 jFreeChart 库?

java - 测试加载消息

java - java.util.regex 可以执行哪些优化?

c# - 将 HTML 代码转换为纯文本

python - 使用 re 在 python 中匹配数字

java - 单击事件后,RecyclerView跳到顶部

java - 如何为多个单元格 poi 添加不同的背景颜色

regex - 字符串匹配版本格式

regex - 在 bash 中使用正则表达式组