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

Python使用re正则如何在指定单词Flavor后添加空格

错误原因

你原来的正则表达式误用了字符类语法[]:在正则规则中,方括号包裹的内容代表匹配其中任意单个字符,你写的["Flavor"]实际会匹配 "、F、l、a、v、o、r 中的任意一个字符,所以每个匹配到的字符后都被加了空格,才会出现单词被拆成单个字母加空格的情况。

正确修改方案

直接去掉正则里的方括号和多余的双引号即可,修改后的代码如下:

re.sub(r'(?<=Flavor)(?=[^\s])', r' ', short_description)

规则说明

  • (?<=Flavor) 是正向后顾断言,只会匹配前面刚好是完整字符串Flavor的位置
  • (?=[^\s]) 是正向前瞻断言,仅当该位置后面不是空格时才匹配,避免Flavor后面已经有空格的情况下重复添加
  • 两个断言同时满足时才会在对应位置插入空格,只会在Flavor后没有空格的位置补充空格,不会影响其他内容

可选优化

如果需要避免匹配到FlavorTest这类包含Flavor的长单词,可以补充单词边界限制,修改为:

re.sub(r'(?<=\bFlavor\b)(?=[^\s])', r' ', short_description)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:54:03