我需要一个正则表达式,它将匹配包含子字符串“ abc”而不是子字符串“ abcdef”或“ abcghi”的字符串。我能找到的最佳解决方案是:
/^.*abc(?!def|ghi).*$/i
但是,此wronlgy与以下字符串匹配:
xxxabcxabcdefxx
我的正则表达式被“ abcx”字符串的幻化所迷惑,女巫包含“ abc”,后面没有禁止的后缀。
我尝试使用“ +”和“?”修饰符无济于事。
我想我可以通过使用不带通配符的正则表达式来解决此问题,并将匹配的字符串与完整的字符串进行比较,但是我发现该解决方案似乎是..修补的。
最佳答案
为什么不搜索不包含字符串abcdef和abcghi的字符串:
.*(abcdef|abcghi).*
并排除那些?