python重新匹配不以单词结尾的字符串

Dav*_*oor 1 python regex

我正在尝试匹配所有以特定单词结尾的字符串。由于某种原因,以下不起作用:

>> import re
>> my_str = 'static/assets/img/favicon.ico'
>> re.search('^static.+(?!ico)$', my_str)
<_sre.SRE_Match at 0x7f08b9773440>
Run Code Online (Sandbox Code Playgroud)

你能解释一下为什么它不起作用以及如何解决它吗?

bob*_*ble 5

我认为你想使用负面的回顾,而不是向前看。

^static.+$(?<!ico)
Run Code Online (Sandbox Code Playgroud)

如果这是您需要的,请参阅regex101 上的演示


(?!ico)$或者$(?!ico)会看看是否ico在结束之后没有这是不可能的。