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

如何使用正则表达式匹配文件名列表中带扩展名的任意文件名?

正则表达式修改方案

问题分析

原正则的核心问题:

  • \b单词边界对包含-、.的文件名不适用,导致边界判断错误
  • 字符集[\w\s]+未包含-和.,无法匹配带这些符号的文件名前缀
  • 末尾的\s*\b会捕获尾部空格,导致结果带冗余空格

修改后的正则表达式

(?<=^|\s)([\w\s.-]+?\.\w+)(?=\s|$)

修改说明

  1. 边界处理:用正向断言(?<=^|\s)和(?=\s|$)替代\b,精准匹配文件名的前后边界(字符串开头/结尾或空格),避免特殊字符干扰边界判断
  2. 字符集扩展:将[\w\s]+改为[\w\s.-]+?,加入-和.允许文件名包含这些符号;+?是非贪婪匹配,确保只匹配到最后一个扩展名前的内容,防止过度匹配
  3. 去除尾部空格:通过断言替代原有的\s*,确保捕获组内仅包含纯文件名,不附带尾部空格

匹配结果

使用修改后的正则,可准确匹配以下三个文件名:

  • file1.tex
  • dhdgs kdkd.csv
  • f-i.le.jpg

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:04:51