python - 与某些扩展名不匹配的正则表达式模式?

标签 python regex lookbehind

我写了这个模式

^.*\.(?!jpg$|png$).+$

但是有一个问题——这个模式匹配 file.name.jpg(2 个点)

它在 filename.jpg 上工作正常(不匹配)。我想弄清楚如何使它不匹配任何 .jpg 文件,即使文件名中有 2 个或更多点。我尝试使用 look behind 但 python 提示没有使用固定宽度(我不确定这是什么意思,但文件名将是可变长度的。)

最佳答案

这应该有效:^.*\.(?!jpg$|png$)[^.]+$

关于python - 与某些扩展名不匹配的正则表达式模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10052032/

相关文章:

python - 从元组列表中获取最小最大值

python - 如果在某些时间/值之间, Pandas 累积总和

javascript - JS 中的lookbehind 支持是什么?如何更换?

Java 正则表达式、匹配和查找

Ruby 正则表达式匹配,除非转义为\

php - 正则表达式:向后看以避免出现奇数个连续反斜杠

Python:(计算正负数并计算数字的平均值)

Pythonic 替代 dict-style setter?

javascript - 正则表达式检查带小数位的数字

regex - 前瞻和后向正则表达式