我無法找到如何在我正則表達式排除字符串:正則表達式字符串排除
例如:
<div\s[^>]+>
會發現其收盤前一個<div
和每一個字符現在>
我想找到<div...>
,然後everything but a </div>
,然後找到</div>
。例如:
<div\s[^>]+>[^(</div>)]*</div>
問題是[^abc]
不包括a或b或c。我如何排除「abc」字符串?
我無法找到如何在我正則表達式排除字符串:正則表達式字符串排除
例如:
<div\s[^>]+>
會發現其收盤前一個<div
和每一個字符現在>
我想找到<div...>
,然後everything but a </div>
,然後找到</div>
。例如:
<div\s[^>]+>[^(</div>)]*</div>
問題是[^abc]
不包括a或b或c。我如何排除「abc」字符串?
這就是negative lookahead assertions是:
<div\s[^>]+>(?:(?!</div>).)*</div>
說明:
(?: # Match...
(?!</div>) # unless we're right before a </div>
. # any character.
)* # Repeat as needed
您可能希望讓斜線可選((?!</?div>)
);否則你會絆倒在嵌套標籤,如<div> foo <div> bar </div> baz </div>
。
ü太fast..i勉強鍵入 – slier
哇,我艱難我擅長的正則表達式...謝謝! – Martin