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

如何用JS正则匹配忽略空格与大小写的连续重复字符?

适配需求的正则表达式

可直接使用以下JS正则,实现忽略空格、忽略大小写匹配至少3个连续相同字符的需求:

/([a-z])\s*(?:\1\s*){2,}/gi

正则各部分含义

  • ([a-z]):捕获首个字母作为分组,搭配末尾的i修饰符自动忽略大小写
  • \s*:匹配当前字符后任意数量的空格(包含0个)
  • (?:\1\s*){2,}:非捕获分组,要求至少再匹配2次与首个分组相同的字符(加上首个分组总次数≥3),每次匹配字符后都允许跟任意数量空格
  • 末尾修饰符gi:g代表全局匹配所有符合规则的片段,i代表忽略大小写匹配

使用示例

如果要将匹配到的连续重复字符移除,可直接使用replace方法:

const str1 = 'i like <strong>eee</strong>ting pie and <strong>a a a a a</strong> bananas.'
const str2 = "My name <strong>iII</strong>s John Doe and <strong>A a A a AA AAA</strong> I'm cool."
const repeatReg = /([a-z])\s*(?:\1\s*){2,}/gi

console.log(str1.replace(repeatReg, ''))
// 输出:i like <strong></strong>ting pie and <strong></strong> bananas.
console.log(str2.replace(repeatReg, ''))
// 输出:My name <strong></strong>s John Doe and <strong></strong> I'm cool.

如果需要匹配字母外的其他字符(比如数字、符号)的连续重复,可将正则中的[a-z]替换为.即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:51:02