2016-09-19 64 views
4

我想写一个函数,将搜索一个字符串(所有数字,0-9)4个或更多重复字符的变量序列。Python:搜索一个字符串的重复字符变量

下面是一些例子输入:

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

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

“1359”:函数将返回False,因为它没有在一行中找到4个重复字符。

我的第一个倾向是使用re,所以我认为模式:“[0-9] {4}”可以工作,但只要它在一行中找到任意四个数字,就会返回true,无论它们是否是否匹配。

无论如何,在此先感谢您的帮助。

戴夫

回答

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 
+0

同意,但是你应该避免'input'因为它是Python中的内置函数3 –

+0

谢谢!这就是诀窍! :) –

+1

再次感谢Wiktor,我接受了它。 :) –

相关问题