给一个字符串,如何判断是否包含连续重复的字母(a-zA-Z),包含返回true;否则返回false
例子 | 结果 | 备注 |
---|---|---|
‘rattler’ | true | 重复的是两个英文字母tt |
‘ra11ler’ | false | 重复的是两个数字11,不符合条件 |
代码:
function containsRepeatingLetter(str) {
let reg = /([a-zA-Z])\1/
return reg.test(str);
}
解析:
[a-zA-Z]
是为了匹配单个字母\1
是为了匹配与第一组内容重复的字母- 此处只有一个组,且匹配单个字母,结果就是匹配连续重复的字母,如abcc中的cc
好文链接:here
该好文的精华总结:
这个\1 \2… 都要和正则表达式集合()一起使用
\1表示重复正则第一个圆括号内匹配到的内容
\2表示重复正则第二个圆括号内匹配到的内容
如果只是要匹配连续的某个类型的字符,如字母、数字,不要求重复,用+?*{}
等限定符即可: