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

RegEx匹配文件路径:命中文件夹返回对应路径、命中文件返回全路径

正则匹配Windows文件路径解决方案

可用正则

^.*?(?:John|Smith|Junior)[^\\]*?(?:\\|$)

规则说明

  • ^锚定当前行开头,避免跨行匹配
  • .*?惰性匹配路径前缀,直到遇到第一个指定关键词
  • (?:John|Smith|Junior)非捕获组匹配目标关键词,不占用额外分组内存
  • [^\\]*?惰性匹配当前命中段的剩余字符,直到遇到路径分隔符反斜杠或者行尾
  • (?:\\|$)匹配路径分隔符(说明命中内容为文件夹,截止到当前文件夹层级即可)或行尾(说明命中内容为文件名,取整行完整路径)

匹配效果验证

输入行:C:\temp\John Smith Junior\file.pdf
匹配结果:C:\temp\John Smith Junior\

输入行:C:\temp\John Smith Junior\John Smith Junior\file.pdf
匹配结果:C:\temp\John Smith Junior\

输入行:C:\temp\John Smith Junior file.pdf
匹配结果:C:\temp\John Smith Junior file.pdf

原正则问题说明

你之前使用的.*([^\\]*(John|Smith|Junior)){2}.*存在两个问题:

  • 开头和结尾的贪婪匹配.*会直接覆盖整行内容
  • 要求关键词组匹配2次的规则不符合“命中第一个关键词就截止”的需求,导致匹配范围过长。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:15:03