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

Python正则匹配替换指定词组时残留多余Bar字符如何解决

正则替换残留问题修正方案

问题原因

正则表达式的多选分支|遵循从左到右优先匹配规则,命中第一个符合条件的分支后就会停止后续匹配。你当前的分支顺序为f\/b|foo|foo bar,处理1 Foo Bar时会先匹配到短分支Foo,剩余的Bar无法被匹配,因此最终输出残留该字段。

修正方案

调整多选分支的顺序,将更长的匹配规则放在更靠前的位置,优先匹配完整的foo bar,再匹配短的foo即可。

修正后代码

re.sub(r"(?i)\b(\d+\.*\d*)\s*(f\/b|foo bar|foo)\b", r"\1fb", '1foo 1.5f/b 1 Foo Bar')

输出结果

'1fb 1.5fb 1fb'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:09:03