sha*_*fri 0 python regex string-matching longest-substring
我有两个字符串:
a = '54515923333558964'
b = '48596478923333558964'
Run Code Online (Sandbox Code Playgroud)
现在最长的后缀匹配是
c = '923333558964'
Run Code Online (Sandbox Code Playgroud)
什么是使用re的解决方案?
这是我找到的前缀匹配解决方案:
import re
pattern = re.compile("(?P<mt>\S*)\S*\s+(?P=mt)")
a = '923333221486456'
b = '923333221486234567'
c = pattern.match(a + ' ' + b).group('mt')
Run Code Online (Sandbox Code Playgroud)
import difflib
a = '54515923333558964'
b = '48596478923333558964'
s = difflib.SequenceMatcher(None, a, b)
m = s.find_longest_match(0, len(a), 0, len(b))
print a[m.a:m.a+m.size]
Run Code Online (Sandbox Code Playgroud)