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

使用Regular expression匹配JavaScript字符串中出现超过两次的相同字符

JavaScript正则匹配同一字符出现超过2次的实现方案

核心正则

你可以使用带反向引用的正则实现需求:
/(.)(?:.*\1){2}/

正则逻辑说明

  • . 匹配任意单个字符
  • () 将匹配到的第一个字符捕获为分组1
  • .*\1 表示匹配任意长度的任意内容后,再次出现分组1捕获的字符
  • {2} 表示上述.*\1规则重复2次,加上最初捕获的1次,对应同一字符总共至少出现3次

调用示例

// 校验字符串是否存在同一字符出现超过2次的情况
function checkDuplicateChar(str) {
  return /(.)(?:.*\1){2}/.test(str);
}

// 测试用例
console.log(checkDuplicateChar('112561')); // 输出 true,数字1共出现3次,符合要求
console.log(checkDuplicateChar('aabbcc')); // 输出 false,所有字符都仅出现2次
console.log(checkDuplicateChar('xyxxz')); // 输出 true,字母x共出现3次

变体场景适配

  • 若要匹配连续的相同字符超过2次,将正则改为/(.)\1{2,}/即可,该规则仅匹配aaa、111这类连续重复的场景
  • 若要限定仅匹配数字/字母,将.替换为对应的字符集即可:
    • 仅匹配数字:/(\d)(?:.*\1){2}/
    • 仅匹配字母:/([a-zA-Z])(?:.*\1){2}/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:36:05