我想找到与另一个值匹配的值,最多max_sub
个替换。
我执行以下操作:
item = 'ASDDGH'
Ref = 'ASDDGY'
max_sub = 1
rx = re.compile(item+ '{s<=' + str(max_sub) + "}")
rx.search(Ref)
它像预期的那样返回以下内容:
<regex.Match object; span=(0, 6), match='ASDDGY', fuzzy_counts=(1, 0, 0)>
但是,如果我这样做:
item = 'ASDDGH'
Ref = 'ASDAGY'
max_sub = 2
rx = re.compile(item+ '{s<=' + str(max_sub) + "}")
rx.search(Ref)
我没有得到匹配项,即使字符串之间只有 2 个替换。
我做错了什么?
编辑:
谢谢,让它工作。
但是,我想知道为什么这显示为匹配:
item = 'WARQENW'
Ref = 'WARQRFWTAPLFDYW'
max_sub = 7
rx = re.compile("(" + item+ '){s<=' + str(max_sub) + "}")
rx.search(Ref)
项目和 Ref 的长度不同,因此发生的不仅仅是替换,但输出表明只进行了 2 个子。
更改为:rx = re.compile("(" + item+ '){s<=' + str(max_sub) + "}")