You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则表达式匹配所有非.csv后缀的文件?

匹配不以.csv结尾的文件的正则方案

要直接排除以.csv结尾的文件,不用枚举其他后缀,核心是用负向断言,这是最简洁的方式,以下是两种常用实现:

1. 负向先行断言(通用兼容)

正则表达式:

^(?!.*\.csv$).+$

各部分解释:

  • ^ 锚定字符串开头
  • (?!.*\.csv$) 负向先行断言:检查从开头到结尾的整个字符串,不能存在以.csv收尾的情况
  • .+ 匹配至少一个任意字符(避免匹配空文件名)
  • $ 锚定字符串结尾

2. 负向后行断言(部分引擎支持)

如果你的正则引擎支持后行断言(比如PCRE、Python 3.6+、JavaScript ES2018+等),可以用更直观的写法:

^.+$(?<!\.csv)

各部分解释:

  • ^.+$ 匹配任意非空字符串
  • (?<!\.csv) 负向后行断言:检查字符串结尾的位置,前面不能是.csv

注意事项

  • 若要允许空字符串(实际文件名一般不会出现),可将.+替换为.*,比如^(?!.*\.csv$).*$
  • 大小写处理:如果需要匹配.CSV/.Csv这类变体,要么开启正则引擎的不区分大小写模式,要么修改断言部分为(?!.*\.[Cc][Ss][Vv]$)

测试示例

  • 会匹配的文件名:report.tif、data.xls、image.jpg、readme.txt、archive.zip
  • 不会匹配的文件名:data.csv、backup.CSV(不区分大小写模式下)

内容的提问来源于stack exchange,提问作者Warren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:22:09