使用Regex / Eclipse删除标记(包括标记本身)之间的所有内容

时间:2010-03-29 22:30:23

标签: regex

我很清楚如何弄清楚Regex是如何运作的,但这只是令人沮丧的。

我有一个包含大量&lt; description>blahblahblah</description&gt;的大量XML文档标签。我想基本上删除<description></description>

的所有实例

我正在使用Eclipse并尝试了一些我在网上发现的Regex示例,但没有任何效果。

<description>(.*?)</description>

不应该这样吗?

编辑:

这是实际的代码。

<description><![CDATA[<center><table><tr><th colspan='2' align='center'><em>Attributes</em></th></tr><tr bgcolor="#E3E3F3"><th>ID</th><td>308</td></tr></table></center>]]></description>

1 个答案:

答案 0 :(得分:2)

我不熟悉Eclipse,但我希望它的正则表达式搜索工具能够使用Java的内置正则表达式。您可能只需要选中标有“DOTALL”或“单行”或类似内容的框,或者您可以将相应的内联修饰符添加到正则表达式中:

(?s)<description>(.*?)</description>

这将允许.匹配换行符,默认情况下不会。

编辑:这是假设元素中的换行符,这是我能想到为什么你的正则表达式不起作用的唯一原因。我也假设你正在进行正则表达式搜索;在Eclipse中是自动的,还是你必须在正则表达式和文字搜索之间做出选择?