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

如何用Python正则移除花括号内数字?匹配问题求解

正则匹配方案解决花括号内数字移除问题

最简解决方案

直接定位花括号内的数字进行替换是最高效的,没必要绕弯匹配前后内容。用以下正则就能搞定:

  • 匹配规则:`(\{)\d+(\})`
  • 替换为:`$1$2`

拿你的输入abc{123}hij举例,用这个规则替换后直接得到abc{}hij,完全符合预期输出。

说说你之前的问题

你用的(.+?\{)*(\}.+)*会出现空匹配,根源是*表示「匹配0次或多次」,当正则找不到对应内容时就会匹配空字符串。而且这个规则逻辑本身就有问题——它要么匹配{之前的内容,要么匹配}之后的内容,根本没法定位到花括号里的数字,自然达不到需求。

拓展说明

如果你的输入包含多个带数字的花括号(比如abc{123}def{456}hij),只要给正则加上全局匹配标识(不同语言里写法略有差异,比如Python里加re.G参数),就能一次性清空所有花括号内的数字,输出abc{}def{}hij。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:55:17