提取标签之间的内容

时间:2016-11-05 00:24:10

标签: java regex

我需要用空格替换XML格式字符串中的所有标记。例如,在替换后,<student x = 100>Nick Miles</student>将成为 Nick Miles Nick Miles周围有两个空格。

我尝试了str.replaceAll("<ref.*?>", " ")str.replaceAll(</ref>, " ")

适用于大多数情况。但是,如果>后面没有ref,则会删除文本中的内容。我知道是关于贪婪的资格赛,但我只是没有解决它。有人可以提出一个可能的解决方案吗?

1 个答案:

答案 0 :(得分:1)

为什么要使用贪婪的量词?您想要完全相反:一旦遇到第一个.*,正则表达式就会停止匹配>。这就是 lazy 量词的用途。只需将+替换为?即可。