使用java正则表达式处理标记标记

时间:2013-06-21 19:34:10

标签: java regex markup

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

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

我的目标是将这句话转换为:

Jane和Jack {blank}到{blank}。

当我使用以下

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

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

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

1 个答案:

答案 0 :(得分:2)

这应该这样做:

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

添加?会使匹配&#34;非贪婪&#34;所以它匹配最少数量的元素而不是最多。

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