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

如何使用Regex从字符串末尾匹配文件名、行号及列号信息

你可以使用如下正则实现需求:

(?:.*[\\/])?([^\\/:]+):(\d+):(\d+)

捕获组说明

  • 第1组:匹配到的纯文件名(不含路径前缀)
  • 第2组:行号
  • 第3组:列号

逻辑解释

  • (?:.*[\\/])? 为非捕获可选分组,贪婪匹配所有字符直到最后一个路径分隔符(支持Windows的\和类Unix的/),没有路径前缀时该分组自动忽略
  • ([^\\/:]+) 捕获所有不包含路径分隔符和冒号的字符,即为纯文件名
  • 后续两个(\d+)分别捕获冒号分隔的行号、列号

验证效果

  1. 针对输入\path1\path2\a_file.ts:17:9,捕获结果为:
    • 组1:a_file.ts
    • 组2:17
    • 组3:9
  2. 针对输入(at somewhere: \path1\path2\a_file.ts:17:9 something),捕获结果和上面完全一致,前后冗余字符不会影响匹配结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:27:03