Python:在字符串中搜索变量重复字符

时间:2016-09-19 21:13:09

标签: python regex

我正在尝试编写一个函数来搜索一个字符串(所有数字,0-9),以查找4个或更多重复字符的变量序列。

以下是一些示例输入:

“14888838”:该函数将返回True,因为它找到了“8888”。

“1111”:该函数将返回True,因为它找到了“1111”。

“1359”:函数返回False,因为它没有找到连续4个重复字符。

我的第一个倾向是使用re,所以我认为模式:“[0-9] {4}”会起作用但只要它连续找到任何四个数字,只要它们是否是匹配与否。

无论如何,提前感谢您的帮助。

戴夫

1 个答案:

答案 0 :(得分:4)

您可以依赖capturingbackreferences

if re.search(r'(\d)\1{3}', s):
    print(s)

此处,(\d)会将数字捕获到第1组,而\1{3}会将捕获的值的3次匹配与该数字的右侧相匹配。

请参阅regex demoPython demo

import re
values = ["14888838", "1111", "1359"]
for s in values:
    if re.search(r'(\d)\1{3}', s):
        print(s)

输出:

14888838
1111