假设我想要查找这样的XML:
<Address>
<Street>Windsor</Street>
</Address>
我不想像这样匹配XML:
<Address>
<Number>15</Number>
<Street>Windsor</Street>
</Address>
也就是说,我正在寻找Address
节点不包含Number
标记的地址。
我尝试了像
这样的模式<Address>(?!Number)</Address>
或
<Address>.*?(?!Number).*?</Address>
但我无法弄清楚: - (
有什么想法吗?
答案 0 :(得分:2)
<Address>(?:(?!<Address>)(?!<Number>).)*</Address>
警告:假设您的文字中没有换行符,或者.
可以跨越换行符边界,那么调用/s
或DOTALL
模式{{1}将启用某些正则表达式语言。