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

Python如何使用Regex将2个及以上连续$符号替换为单个空格

正则问题排查与解决方案

原正则不可用,错误原因如下:

  • 你写的正则里用了方括号[],括号内的所有字符会被解析为独立的匹配项集合,自动去重后等价于匹配'或者$两个字符,完全不符合只匹配连续$的需求
  • 末尾的?是惰性量词,会优先匹配最短的2个$,替换时会把更长的连续$拆成多次替换,虽然结果也能得到空格,但属于无意义的冗余写法
  • 额外添加的单引号完全多余,会导致匹配到不该匹配的单引号字符

正确实现方案

匹配规则应该是:匹配连续出现2次及以上的$字符,正确正则为:

regex_pattern = r"\${2,}"

这里\$是转义$(因为$在正则里是行尾锚点,必须转义才能匹配字符本身),{2,}表示匹配前面的字符至少2次,默认贪婪匹配,会一次性匹配最长的连续$串。

完整Python示例代码

import re

regex_pattern = r"\${2,}"
test_strings = ['1', 'Patna City $$$$ $$$$$$$$View Details', 'Serial No:$$$$5$$$$ $$$$Deed No:$$$$5$$$$ $$$$Token No:$$$$7$$$$ $$$$Reg Year:2020', 'Anil Kumar Singh Alias Anil Kumar$$$$$$$$Executant$$$$$$$$Late. Harinandan Singh$$$$$$$$$$$$Md. Shahzad Ahmad$$$$$$$$Claimant$$$$$$$$Late. Md. Serajuddin', 'Anil Kumar Singh Alias Anil Kumar', 'Executant', 'Late. Harinandan Singh', 'Md. Shahzad Ahmad', 'Claimant', 'Late. Md. Serajuddin', 'Circle:Patna City Mauja: $$$$ $$$$Khata : na$$$$ $$$$Plot :2497 Area(in Decimal):1.5002 Land Type :Res. Branch Road Land Value :1520000 MVR Value :1000000', 'Circle:Patna City Mauja: $$$$ $$$$Khata : na$$$$ $$$$Plot :2497 Area(in Decimal):1.5002 Land Type :Res. Branch Road Land Value :1520000 MVR Value :1000000']

processed_strings = [re.sub(regex_pattern, ' ', s) for s in test_strings]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:15:07