Существует ли опция или метод для difflib.SequenceMatcher для объединения смежных совпадений?
Рассмотрим эту пару:
str_a = "Attempt to invoke virtual method XXX.XXX on a null object reference"
str_b = "Unable to start activity ComponentInfo{YYY/YYY.YYYActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void ZZZ.ZZZ(ZZZ.ZZZ.WWW.product.BaseActivity)' on a null object reference"
Извините неминимальные примеры, но возвращенные совпадения кажутся чувствительными кдаже небольшие удаления.
[((i,j,n),str_a[i:i+n],str_b[j:j+n]) for i,j,n in difflib.SequenceMatcher(None,str_a,str_b).get_matching_blocks()]
Тогда
[((0, 50, 1), 'A', 'A'),
((1, 94, 17), 'ttempt to invoke ', 'ttempt to invoke '),
((22, 158, 1), 'u', 'u'),
((40, 176, 27), ' on a null object reference', ' on a null object reference'),
((67, 203, 0), '', '')]
Но почему 'A' и 'ttempt to invote' возвращаются как 2 отдельных совпадения, так как они примыкают? Есть ли способ присоединиться к ним внутри?