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

如何修正正则表达式,提取适配有无后续下划线的目标标识

正则表达式修正方案

问题原因

你之前的正则(?<=BOND_.*_).*(?=(_|\.))中,.*是贪婪匹配,会从BOND_.*_之后一直匹配到最后一个符合_或.的位置,导致第一个示例中匹配到了SB1_66-1,而非目标的SB1。

修正后的正则方案

方案1:非贪婪匹配+正向预查

(?<=BOND_.*_).*?(?=(_|\.))

把贪婪的.*改为非贪婪的.*?,匹配到第一个_或.就停止,刚好提取出SB1/SB2。

方案2:直接匹配目标字符(更高效)

(?<=BOND_.*_)[^_.]+

[^_.]+表示匹配一个或多个**不是_和.**的字符,直接精准定位目标内容,无需预查,执行效率更高。

验证结果

  • 对BOND_aa_SB1_66-1.pdf,两个正则均匹配出SB1
  • 对BOND_bb_SB2.pdf,两个正则均匹配出SB2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:15:13