使用'aabcc'.match(/(\w)\1+/g)
我可以找到重复的字母对。但是,如何更新我的正则表达式以检查它们是否相邻?
例如:
'aabcc'
。'aacc'
不是一个好的字符串。答案 0 :(得分:4)
您可以匹配仅包含相同连续字母的字符串,然后返回false:
function isValid(s) {
return !/^(?:(\w)\1+)+$/.test(s);
}
console.log(isValid('aabcc'));
console.log(isValid('aacc'));
^(?:(\w)\1+)+$
匹配:
^
- 字符串开头(?:(\w)\1+)+
- 出现1次或多次:
(\w)
- 捕获到第1组的字词\1+
- 存储在第1组$
- 字符串结束。