正则表达式 – 如果不匹配另一个字符串的子串,如何匹配字符串?

我正在寻找一种匹配字符串的方法,只要它不是另一个字符串的子字符串.

例:

I need to find if text contains string "bbbb" that is not part of a string "aaaabbbbcccc".

正则表达式应匹配字符串:

aaabbbbcccc
aaaabbbbccc
aaabbbbccc
bbbbcccc
aaaabbbb

但不匹配:

aaaabbbbcccc

我试图通过外观来做到这一点:

(?<!aaaa)bbbb(?!cccc)

但它不起作用.它只匹配

aaabbbbccc

最佳答案 问题是如果你按照自己的方式使用它们,两个断言都必须是真的.如果两个断言都失败,则使用交替使其失败,但只有一个失败时才会失败.

(?<!aaaa)bbbb|bbbb(?!cccc)

见它here on Regexr

我假设你的第三个例子也应该有四个“b”.

点赞