我对正则表达式很陌生,并且一直在寻找方法来做到这一点但没有成功。给定一个字符串,我想删除任何以“abc”开头、以“abc”结尾且中间不包含“abc”的模式。如果我这样做
'abc.*(abc).*abc'
它将匹配任何以“abc”开头、以“abc”结尾且中间包含“abc”的模式。我该怎么做相反。我试试
'abc.*^(abc).*abc'
但它不会起作用。
请您参考如下方法:
您试图否定部分模式的语法不正确。
此外,字符类之外的 ^ 断言字符串开头的位置。您需要使用 Negative Lookahead断言并确保anchor整个模式。
^abc(?:(?!abc).)*abc$
