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

需求:构建可匹配含连续三次及以上合法字符的密码的正则表达式

解决密码连续重复字符的正则匹配问题

我明白你的需求逻辑了——你想要的是匹配那些存在指定合法字符连续重复三次及以上的密码,而你之前尝试用负前瞻搞反了逻辑,这就是达不到预期效果的核心原因。

正确的正则表达式

直接瞄准“存在连续三次重复合法字符”这个条件来写正则就好,具体如下:

.*([a-zA-Z0-9@._\/,-])\1{2}.*

拆解说明

  • [a-zA-Z0-9@._\/,-]:你的合法字符集,我把-放在了字符集末尾,这样不需要额外转义(字符集首尾的-不会被识别为范围符),让表达式更简洁清晰。
  • ([a-zA-Z0-9@._\/,-]):捕获组,匹配单个合法字符。
  • \1{2}:引用捕获组1的内容,重复两次——加上捕获组本身的一次,就构成了连续三次相同的合法字符。
  • .*:匹配任意数量的任意字符(包括0个),确保不管连续三次重复出现在密码的开头、中间还是结尾,都能被正则捕捉到。

为什么你之前的尝试无效?

你用的(?!.*([a-zA-Z0-9@._\-\/,])\1{2})是负前瞻表达式,它的作用是:只有当字符串中不存在连续三次重复的合法字符时,才匹配该字符串——这刚好和你的需求完全相反(你要的是“存在重复时匹配”)。

测试示例

  • 会被匹配的密码(符合“存在连续三次重复”条件):aaa@123、xxxyyy、pass...word(三个.)、user///name(三个/)
  • 不会被匹配的密码(无连续三次重复):aabbcc、abc123@、p.ss,w-ord

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 22:42:46