我想找到与另一个值最多匹配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)
item和Ref的长度不相同,因此不仅发生替换,而且输出表明仅制作了2个subs。
答案 0 :(得分:0)
更改为:rx = re.compile("(" + item+ '){s<=' + str(max_sub) + "}")