((w)2{2,})
matches 3 or more consecutive characters:
In [71]: import re
In [72]: s = r'http://www.google.com/search=ooo-jjjj'
In [73]: re.findall(r'((w)2{2,})', s)
Out[73]: [('www', 'w'), ('ooo', 'o'), ('jjjj', 'j')]
In [78]: [match[0] for match in re.findall(r'((w)2{2,})', s)]
Out[78]: ['www', 'ooo', 'jjjj']
(w)
matches any alphanumeric character.
((w)2)
matches any alphanumeric character followed by the same character, since 2
matches the contents of group number 2.
Since I nested the parentheses, group number 2 refers to the character matched by w
.
Then putting it all together,
((w)2{2,})
matches any alphanumeric character, followed by the same character repeated 2 or more additional times.
In total, that means the regex require the character to be repeated 3 or more times.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…