使用Notepad++的正则表达式来匹配非空的xml标签。

问题描述 投票:0回答:2

xml文件中包含多个标签,其中有些标签有一个值,有些则是空白的,如

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

如你所见,只有一个非空文本标签,在npp中,我如何使用正则表达式在xml中找到这种非空标签。我不想让表达式匹配带空格的标签。

所以在执行查找后,它应该匹配 <text>test str</text>

我试过了 <text>(\S+)</text> 但这是行不通的。

regex tags notepad++
2个回答
1
投票

你可以使用这个regex,它可以寻找一个叫做 <text> 标签后跟一些空格,然后是一个非空格字符,使用负向的前导符来确定我们没有在结束标签处。

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

regex101的演示

© www.soinside.com 2019 - 2024. All rights reserved.