我需要在字符串中找到连续的(不重叠的)子字符串。我可以指望它们,但不能连续。
例如:
string = "AASDASDDAAAAAAAAERQREQREQRAAAAREWQRWERAAA"
substring = "AA"
在这里,AA在字符串的开头重复一次,然后重复4次,然后重复2次,依此类推。在示例中,我应该选择最大的4次。
我怎样才能做到这一点?我是一个初学者
提前致谢!
搜索字符串时,正则表达式会发光。在这里你可以找到一个或以上的团体AA
与(?:AA)+
在(?:
简单地告诉引擎解释括号唯一分组。
一旦有了分组,就可以max()
根据长度(len()
)查找最长的分组。
import re
s = "AASDASDDAAAAAAAAERQREQREQRAAAAREWQRWERAAA"
groups = re.findall(r'(?:AA)+', s)
print(groups)
# ['AA', 'AAAAAAAA', 'AAAA', 'AA']
largest = max(groups, key=len)
print(len(largest) // 2)
# 4
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句