You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则表达式匹配字符串中XXX或XYX模式字符(排除特殊字符与空格)

正则匹配字符串中连续重复字母序列或XYX模式

需求说明

从字符串中提取两类字母序列,自动排除空格、特殊字符:

  • 连续重复字母序列:长度≥3的相同字母连续出现(如 ooo、ssss)
  • XYX三元组:首尾字母相同、中间字母不同的连续三个字母(如 ele、iti)

核心正则表达式(支持重叠匹配)

(?i)(?=(([a-z])\1{2,}|([a-z])(?!\3)[a-z]\3))\1

正则解析

  • (?i):开启不区分大小写模式,兼容大小写字母匹配
  • (?=...):正向零宽断言,实现重叠匹配(不消耗字符串字符,允许从当前位置的下一个字符再次匹配,比如 llll 会被识别为两个 lll)
  • ([a-z])\1{2,}:匹配连续重复字母序列——捕获单个字母后,匹配至少2个相同字母,确保整体长度≥3
  • ([a-z])(?!\3)[a-z]\3:匹配XYX三元组——捕获首字母后,用(?!\3)确保中间字母与首尾不同,最后匹配与首字母相同的尾字母
  • \1:提取断言内捕获的完整匹配结果

简化版正则(不支持重叠匹配)

如果不需要拆分连续重复的长序列(比如不想把 llll 拆成两个 lll),可以使用:

(?i)([a-z])\1{2,}|([a-z])(?!\2)[a-z]\2

匹配示例

输入输出
oooh my godooo
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogochgog, lll, lll, ogo, gog, ogo, gog, ogo
Jewnited Snakes of Amerikkkakkk
skilllessnesslll
salpingooophoritisooo, iti
princessship / mistressshipssss, sss
same letter / triple lettersele

内容的提问来源于stack exchange,提问作者ArtBindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:57:23