java - 使用 java regex 处理标记标签

标签 java regex markup

我收到了包含一些标记的文本。例如:

Jane and Jack <record>went</record> to <record>cinema</record>.

My objective is to convert this sentence to:

Jane and Jack {blank} to {blank}.

When I use the following

text.replaceAll("<record>.*</record>", "{blank}");

我收到“Jane 和 Jack {blank}”。而不是上面那句话。

解决这个问题的最佳方法是什么?

最佳答案

这应该可以做到:

text.replaceAll("<record>.*?</record>", "{blank}");

添加 ? 会使匹配“非贪婪”,因此它会匹配最少数量的元素,而不是最多的元素。

另请注意,处理这些类型的替换最好留给 XML 解析器,除非它们是简单的替换。

关于java - 使用 java regex 处理标记标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17243008/

相关文章:

html - 如何在 <pre> 标签内转义 < 和 >

Java,android,从互联网服务器获取原子时间

java - 如何用最大允许出现次数替换连续多次出现的字符?

Javascript RegExp 多重规则

javascript - 有人可以告诉我从字符串中删除特定内联 CSS 样式的最佳方法吗?

regex - 打印字段也包含 FS 字符?

html - 为什么我的 <pre> 和 <code> 标签读取标记而不是生成代码片段?

javascript - 使用 Javascript 将 CSS 标记输出到字符串

java - 如何为 Netbeans 和 Eclipse 使用不同的 jdk

java - 为什么在枚举类中阻止默认序列化