我很清楚如何弄清楚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>
答案 0 :(得分:2)
我不熟悉Eclipse,但我希望它的正则表达式搜索工具能够使用Java的内置正则表达式。您可能只需要选中标有“DOTALL”或“单行”或类似内容的框,或者您可以将相应的内联修饰符添加到正则表达式中:
(?s)<description>(.*?)</description>
这将允许.
匹配换行符,默认情况下不会。
编辑:这是假设是元素中的换行符,这是我能想到为什么你的正则表达式不起作用的唯一原因。我也假设你正在进行正则表达式搜索;在Eclipse中是自动的,还是你必须在正则表达式和文字搜索之间做出选择?