Python错误:关于芬德尔查找的匹配项多于回复sub

2024-10-01 02:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

这不是关于空字符串的! 已经检查过了,特别是这个question

s1 = '<PERSON>Desi Arnaz</PERSON> was born... intervened on <PERSON>Desi Arnaz</PERSON> behalf. <PERSON>Arnaz</PERSON> and ...'

In python:
>> re.sub("<PERSON>(Desi Arnaz|Desi Arnaz|Arnaz)</PERSON>", "----WORKED------", s1, re.IGNORECASE)
out>>'----WORKED------ was born... intervened on ----WORKED------ behalf. <PERSON>Arnaz</PERSON> and ...'

>> re.findall("<PERSON>(Desi Arnaz|Desi Arnaz|Arnaz)</PERSON>", s1, re.IGNORECASE)
out>>['Desi Arnaz', 'Desi Arnaz', 'Arnaz']

有人能确认这个错误吗?你知道吗


Tags: and字符串reonoutpersonwasborn
1条回答
网友
1楼 · 发布于 2024-10-01 02:32:40

不是虫子。你把传递给re.sub的参数搞砸了。你知道吗

docs on ^{}

re.sub(pattern, repl, string, count=0, flags=0)

但是,您正在传递re.IGNORECASE作为第四个(count)参数,而re.IGNORECASE恰好是数字2,因此只替换前两个匹配项。你知道吗

相关问题 更多 >