在Python字符串中查找重复模式
假设我有这样一个字符串
s = '123123123'
我发现里面有'123'这个小部分在重复出现。
这里有一个新的字符串 = '1234'
这个小部分就是'1234',没有重复的部分。
再来看一个例子,s = '11111'
这个小部分就是'1'。
我该怎么用Python来实现这个呢?有没有什么提示?
1 个回答
3
strings = ['123123123', '1234', '11111']
import re
pattern, result = re.compile(r'(.+?)\1+'), []
for item in strings:
result.extend(pattern.findall(item) or [item])
print result
# ['123', '1234', '1']
你可以在 这里 查看正则表达式的解释