首页 > 解决方案 > 使用 Notepad++ 匹配非空 xml 标记的正则表达式

问题描述

xml文件包含多个标签,有的有值有的为空,比如

<main>
  <text></text> <text>   </text> <text></text> <text>test str</text>
  <text></text>
</main>

如您所见,只有一个非空文本标签,在 npp 中,如何使用正则表达式在 xml 中找到此类非空标签。我不希望表达式将标签与空格匹配。

所以在执行 find 之后它应该匹配<text>test str</text>

我试过<text>(\S+)</text>了,但这不起作用。

标签: regextagsnotepad++

解决方案


你可以使用这个正则表达式,它会查找一个<text>标签,然后是一些空格,然后是一个非空格字符,使用负前瞻来断言我们不在结束标签处:

<text>\s*(?!</text>)\S.*?</text>

正则表达式 101 上的演示


推荐阅读