파이썬의 SequenceMatcher
을 사용하여 두 문자열 사이에 일치하는 블록을 찾으려고합니다. 문자열은 "ABCDPQRUVWXYZ"
및 "PQRABCDUVWXYZ"
입니다. 그러나 get_matching_blocks()
을 적용하면 "PQR"
문자열이 일치하는 블록으로 발견되지 않습니다.파이썬의 시퀀스 매처가 불완전한 일치를 제공합니다
from difflib import SequenceMatcher
str1 = "ABCDPQRUVWXYZ"
str2 = "PQRABCDUVWXYZ"
matchAll = SequenceMatcher(None, str1, str2, False).get_matching_blocks()
for i in range(0, len(matchAll)):
print(str1[matchAll[i].a: matchAll[i].a + matchAll[i].size])
왜'PQR'가 발견되기를 기대 했습니까? 당신이 수행하고자하는 작업이'difflib.SequenceMatcher' 작업이 작성된 것이 아닌 것 같습니다. – user2357112
은 올바른 답변으로 표시하기 위해'difflib.SequenceMatcher'를 사용하고 있습니까? 이 라이브러리를 사용해야합니까? – s2t2
docs : https://docs.python.org/2/library/difflib.html#difflib.SequenceMatcher.get_matching_blocks – innisfree