2
我已經變成不區分大小寫...如何使用正則表達式忽略在其之前有特定字符串的字符串?
我想匹配abc
除了watch?v=xxabcxx
或tumblr_asdfabcasdf
任何地方。
但是,如果我使用(watch\?v=[0-9a-zA-Z]){0}abc
與watch?v=xxabcxx
相匹配,可能是因爲引擎發生故障,直到它檢查到abcxxx
這很好。
我已經變成不區分大小寫...如何使用正則表達式忽略在其之前有特定字符串的字符串?
我想匹配abc
除了watch?v=xxabcxx
或tumblr_asdfabcasdf
任何地方。
但是,如果我使用(watch\?v=[0-9a-zA-Z]){0}abc
與watch?v=xxabcxx
相匹配,可能是因爲引擎發生故障,直到它檢查到abcxxx
這很好。
在稱爲負面看後面的正則表達式(也在前面,取決於你需要看的方向)。檢查教程「Positive and Negative Lookahead」。
您可能還想檢查「Regular expression negative lookahead」的問題和解答。
舉個例子,看看(watch\?v=.*)(?<!xx)abc
,部分(?<xx)abc
可以讀作abc
比賽只有前面的字母不xx
,其中(?a)b
的格式是把一個條件a
前申請b
匹配。此外,符號<
表示看起來在後面和感嘆號!
是否定條件。我使用了一個通用的正則表達式,但是你可以明白這個想法。
我無法理解它爲我的生活,但感謝發佈 – Hypershadsy 2012-07-16 08:04:09
我添加了一個小例子(基於你的問題)來解釋它是如何工作的。我希望這有助於理解教程。 – gpoo 2012-07-16 08:21:08
它的工作原理!謝謝! '(?<!watch \?v = [0-9a-zA-Z] * | tumblr_ [0-9a-zA-Z] *)abc' – Hypershadsy 2012-07-16 17:50:48