使用 Notepad++ 匹配非空 xml 标签的正则表达式
Regular expression to match non empty xml tags using Notepad++
xml文件包含多个标签,其中一些有值,一些为空,如
<main>
<text></text> <text> </text> <text></text> <text>test str</text>
<text></text>
</main>
如您所见,只有一个非空文本标签,在 npp 中,我如何使用正则表达式在 xml 中找到此类非空标签。我不希望表达式匹配带有空格的标签。
所以执行查找后它应该匹配 <text>test str</text>
我试过<text>(\S+)</text>
,但是没用。
您可以使用此正则表达式,它会查找 <text>
标记,后跟一定数量的 space,然后是非 space 字符,使用否定先行断言我们不在结束标记处:
<text>\s*(?!</text>)\S.*?</text>
xml文件包含多个标签,其中一些有值,一些为空,如
<main>
<text></text> <text> </text> <text></text> <text>test str</text>
<text></text>
</main>
如您所见,只有一个非空文本标签,在 npp 中,我如何使用正则表达式在 xml 中找到此类非空标签。我不希望表达式匹配带有空格的标签。
所以执行查找后它应该匹配 <text>test str</text>
我试过<text>(\S+)</text>
,但是没用。
您可以使用此正则表达式,它会查找 <text>
标记,后跟一定数量的 space,然后是非 space 字符,使用否定先行断言我们不在结束标记处:
<text>\s*(?!</text>)\S.*?</text>