在 python 中使用正则表达式将 $$ 或更多替换为单个空格

Replace $$ or more with single spaceusing Regex in python

在下面的字符串列表中,我想删除 $$ 或更多,只有一个 space。

例如-如果我有 $$ 那么一个 space 字符或者如果有 $$$$ 或更多那么也只有 1 space 被替换。

我正在使用以下正则表达式,但我不确定它是否能达到目的

regex_pattern = r"['$$']{2,}?"

以下是测试字符串列表:

['1', 'Patna City $$$$ $$$$$$$$View Details', 'Serial No:$$$$$$$ $$$$Deed No:$$$$$$$ $$$$Token No:$$$$$$$ $$$$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']

这是你需要的吗?:

import re
for d in data:
    d = re.sub(r'${2,}', ' ', d)

关于

I am using the following regex but i'm not sure if it serves the purpose

模式 ['$$']{2,}? 可以写成 ['$]{2,}? 并以非贪婪的方式匹配 2 个或更多 '$ 的字符。

您的模式目前得到了正确的匹配,因为没有像 ''$'

这样的部分存在

由于模式是非贪婪的,它只会匹配 2 个字符,不会匹配 $$$

中的所有 3 个字符

您可以编写匹配 2 个或更多美元符号的模式而不使其非贪婪,因此 $ 的奇数也将被匹配:

regex_pattern = r"${2,}"

在替换中使用 space.