正则表达式匹配多个负前瞻

标签 regex perl regex-lookarounds

我试图匹配一个字符串(使用 Perl 正则表达式),仅当它不以“abc:”或“defg:”开头时,但我似乎无法找到如何。我试过类似的东西

^(?:(?!abc:)|(?!defg:))

最佳答案

前瞻(?=foo) , (?!foo)和回顾 (?<=foo) , (?<!foo)不消耗任何字符。

你可以做多个断言:

^(?!abc:)(?!defg:)

或者:
^(?!defg:)(?!abc:)

...并且顺序没有区别。

关于正则表达式匹配多个负前瞻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27179991/

相关文章:

java - 在java中使用If then else正则表达式构造捕获组

php - 替换 () 之间的所有 "foo"

perl - Cwd.c : loadable library and perl binaries are mismatched (got handshake key 0xdb00080, 需要 0xde00080)

perl - 将 eval 的 STDERR 重定向到 perl 中的/dev/null

javascript正则表达式在小写变为大写的地方拆分

regex - 正则表达式选择逗号但不在括号之间

ios - 在 Swift 中匹配独立的子字符串

json - 逐 block 解析 JSON

java - 正则表达式标记日志行

正则表达式 : replace a phrase only if NOT preceded by a word