Python re查找两个字符串的最长匹配后缀
我有两个字符串,比如:Python re查找两个字符串的最长匹配后缀,python,regex,string-matching,longest-substring,Python,Regex,String Matching,Longest Substring,我有两个字符串,比如: a = '54515923333558964' b = '48596478923333558964' 现在最长的后缀匹配是 c = '923333558964' 使用re的解决方案是什么 以下是我为前缀匹配找到的解决方案: import re pattern = re.compile("(?P<mt>\S*)\S*\s+(?P=mt)") a = '923333221486456' b = '923333221486234567' c = pattern.
a = '54515923333558964'
b = '48596478923333558964'
现在最长的后缀匹配是
c = '923333558964'
使用re的解决方案是什么
以下是我为前缀匹配找到的解决方案:
import re
pattern = re.compile("(?P<mt>\S*)\S*\s+(?P=mt)")
a = '923333221486456'
b = '923333221486234567'
c = pattern.match(a + ' ' + b).group('mt')
请尝试以下方法:
您可以使用正则表达式模式的这种变体:
\S*?(?P<mt>\S*)\s+\S*(?P=mt)$
在我的系统上处理这个过程需要一秒钟。为什么要使用re?另外:@MartijnPieters没有什么特别的解决方案,除了循环fine@eumiro.. 你能解释一下你使用的这个方法吗???@RohitJain请看链接文档
\S*?(?P<mt>\S*)\s+\S*(?P=mt)$
a = 1000 * 'a'
b = 1000 * 'a' + 'b'