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

tob*_*bbo 14 regex perl regex-lookarounds

我只是尝试匹配一个字符串(使用Perl正则表达式),如果它不是以"abc:"或"defg:"开头,但我似乎无法弄清楚如何.我尝试过类似的东西

^(?:(?!abc:)|(?!defg:))
Run Code Online (Sandbox Code Playgroud)

Ste*_*amm 16

Lookahead (?=foo),(?!foo)lookbehind (?<=foo),(?<!foo)不消耗任何字符.

您可以:

^(?!abc:)(?!defg:)
Run Code Online (Sandbox Code Playgroud)

要么

^(?!defg:)(?!abc:)
Run Code Online (Sandbox Code Playgroud)

订单没有任何区别.


Gil*_*not 6

试着这样做:

^(?!(?:abc|defg):)
Run Code Online (Sandbox Code Playgroud)