使用 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>

Demo on regex101