2

假设我想像这样查找 XML:

<Address>
    <Street>Windsor</Street>
</Address>

我不想像这样匹配 XML:

<Address>
    <Number>15</Number>
    <Street>Windsor</Street>
</Address>

也就是说,我正在寻找Address节点不包含标签Number的地址。

我试过这样的模式

<Address>(?!Number)</Address>

或者

<Address>.*?(?!Number).*?</Address>

但我不太明白:-(

有任何想法吗?

4

1 回答 1

2
<Address>(?:(?!<Address>)(?!<Number>).)*</Address>

警告:假设您的文本中没有换行符,或者.可以跨越换行符边界,即所谓的/sDOTALL模式,这(?s)将在某些正则表达式语言中启用。

于 2012-08-28T03:35:54.343 回答