正则表达式排除某些文件扩展名

标签 regex

有人问过类似的问题,但他们错过了我需要做的一件事,我无法弄清楚。

我需要找到所有没有 tif 或 tiff 扩展名的文件,但我确实需要找到所有其他文件,包括那些没有扩展名的文件。我得到了第一部分使用下面的正则表达式,但这与没有扩展名的文件不匹配。

^(.+)\.(?!tif$|tiff$).+$

这很好用,但我需要以下内容才能工作。
filename.ext MATCH
filename.abc MATCH
filename.tif FAIL
filename     MATCH

谢谢 :)

最佳答案

如果您不使用 JS/ECMAscript 正则表达式,则可以使用:

^.*(?<!\.tif)(?<!\.tiff)$

关于正则表达式排除某些文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43499501/

相关文章:

javascript - 用于验证当前 DoD 密码标准的正则表达式

Java正则表达式字符串匹配(like和not like)

使用 Matcher 和 Regex 进行 Java 解析

regex - 使用正则表达式提取子字符串

javascript - 仅包含数字和破折号的正则表达式

Java: do-while(regex), hashtable.containsKey() 可能吗?

python - 从 Pandas Dataframe Column 中删除重复的逗号换句话说,我只需要列中的文本用逗号分隔它们

mysql - 使用 SQL 来匹配查询字符串中的字符

用于 $ 替换的 Java 正则表达式

c# - C# 中的分隔嵌套括号