我已经打开了不区分大小写...
我想在除 watch?v=xxabcxx
或 tumblr_asdfabcasdf
之外的任何地方匹配 abc
。
但是如果我对 watch?v=xxabcxx
使用 (watch\?v=[0-9a-zA-Z]){0}abc
,它匹配,大概是因为引擎失败,直到它检查 abcxxx
是好的。
最佳答案
在正则表达式中称为负向后视(也称为前视,取决于您需要看的方向)。查看“ Positive and Negative Lookahead ”上的教程。
您可能还想检查“ Regular expression negative lookahead ”的问题和答案。
例如,看一下 (watch\?v=.*)(?<!xx)abc
, 部分 (?<xx)abc
可以读作 abc
仅当前面的字母与 xx
不匹配时才匹配,其中 (?a)b
是放置条件的格式 a
申请前b
.此外,符号 <
说往后看和感叹号!
是否定条件。我使用了一个通用的正则表达式,但您可以明白这一点。
关于c# - 如何使用正则表达式忽略前面有特定字符串的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498043/