匹配任意连续重复小写字母的正则表达式有没有更简洁的写法?
简洁实现方案
你需要的精简正则写法如下:
([a-z])\1+
写法说明
([a-z]):定义捕获组,匹配任意单个小写英文字母,匹配结果会暂存到分组1中\1:反向引用语法,直接指代分组1刚刚匹配到的小写字母+:量词,要求\1至少匹配1次,整体就实现了匹配2个及以上连续相同小写字母的效果
效果验证
和你当前使用的枚举写法效果完全一致:
可匹配场景(命中连续重复小写字母)
abcbb(命中末尾bb)ababcaa(命中末尾aa)abcazzba(命中中间zz)
不可匹配场景(无连续重复小写字母)
abcabcdefabcdeabc
注意事项
该写法依赖正则引擎的反向引用支持,目前主流编程语言(Python/Java/JavaScript/Go等)、常用文本处理工具的正则实现均支持该语法,仅在极少数不支持反向引用的极端场景下才需要使用原枚举写法。
内容的提问来源于stack exchange,提问作者Kellen Stuart
相关产品推荐
相关产品推荐

