我已经开启了不区分大小写......
我想在abc
或watch?v=xxabcxx
以外的任何地方匹配tumblr_asdfabcasdf
。
但是如果我对(watch\?v=[0-9a-zA-Z]){0}abc
使用watch?v=xxabcxx
,它会匹配,大概是因为引擎失败直到它检查abcxxx
这很好。
答案 0 :(得分:1)
在正则表达式中,称为负向后方(也在前方,取决于您需要查看的方向)。查看“ Positive and Negative Lookahead ”的教程。
您可能还需要查看“ Regular expression negative lookahead ”的问题和答案。
例如,看看(watch\?v=.*)(?<!xx)abc
,只有当前面的字母与{{1}不匹配时,才能将(?<xx)abc
部分视为 abc
匹配} ,其中xx
是在应用(?a)b
之前放置条件a
的格式。此外,符号b
表示看后面,感叹号<
是否定条件。我使用了一个通用的正则表达式,但你可以得到这个想法。