【发布时间】:2016-11-29 08:17:41
【问题描述】:
我有文字:
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
<a>
sdfsdf
<b>BBzz</b>
sdfsdf
</a>
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
我无法将其解析为 xml。我需要在这里使用正则表达式。这也只是例子。
我想要的正则表达式可以匹配每个不包含元素 b 的组 <a>...</a> 与以 BB 开头的文本。
我想出了这个正则表达式:
<a>.*?<b>(?!B).*?</b>.*?</a>
但它与最后一组匹配为:
<a>
sdfsdf
<b>BBzz</b>
sdfsdf
</a>
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
这对我不利。
如何编写只匹配我给定示例中的那 3 个组的正则表达式?:
1.
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
2.
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
3.
<a>
sdfsdf
<b>DDzz</b>
sdfsdf
</a>
【问题讨论】:
标签: regex notepad++ regex-lookarounds