Skip to main content
 首页 » 编程设计

python之正则表达式之不包含字符串的匹配模式

2025年05月04日27tintown

我对正则表达式很陌生,并且一直在寻找方法来做到这一点但没有成功。给定一个字符串,我想删除任何以“abc”开头、以“abc”结尾且中间不包含“abc”的模式。如果我这样做

'abc.*(abc).*abc' 

它将匹配任何以“abc”开头、以“abc”结尾且中间包含“abc”的模式。我该怎么做相反。我试试

'abc.*^(abc).*abc' 

但它不会起作用。

请您参考如下方法:

您试图否定部分模式的语法不正确。

此外,字符类之外的 ^ 断言字符串开头的位置。您需要使用 Negative Lookahead断言并确保anchor整个模式。

^abc(?:(?!abc).)*abc$ 

Live Demo