>>> [m.group() for m in re.finditer(r'((\w)\2)+', 'zoo')]
['oo']
>>> [m.group() for m in re.finditer(r'((\w)\2)+', 'arrange')]
['rr']
>>> [m.group() for m in re.finditer(r'((\w)\2)+', 'committee')]
['mm', 'ttee']
>>> [m.group() for m in re.finditer(r'((\w)\2)+', 'bookkeeper')]
['ookkee']
使用re.finditer
检查字符串是否包含连续对:
您还可以使用以下非捕获(
?:
)版本:为了检测2个或更多连续的字母,regex变成:
(\w)\1+
您可以使用此模式:
其思想是使用引用捕获组的反向引用
\1
和\2
。注意,
(\w){2}
匹配两个单词字符,但不是同一个字符。相关问题 更多 >
编程相关推荐