我正在尝试编写一个函数来搜索一个字符串(所有数字,0-9),以查找4个或更多重复字符的变量序列。
以下是一些示例输入:
“14888838”:该函数将返回True,因为它找到了“8888”。
“1111”:该函数将返回True,因为它找到了“1111”。
“1359”:函数返回False,因为它没有找到连续4个重复字符。
我的第一个倾向是使用re,所以我认为模式:“[0-9] {4}”会起作用但只要它连续找到任何四个数字,只要它们是否是匹配与否。
无论如何,提前感谢您的帮助。
戴夫
答案 0 :(得分:4)
您可以依赖capturing和backreferences:
if re.search(r'(\d)\1{3}', s):
print(s)
此处,(\d)
会将数字捕获到第1组,而\1{3}
会将捕获的值的3次匹配与该数字的右侧相匹配。
import re
values = ["14888838", "1111", "1359"]
for s in values:
if re.search(r'(\d)\1{3}', s):
print(s)
输出:
14888838
1111