2
使用'aabcc'.match(/(\w)\1+/g)
我可以找到重复的字母对。但是,如何更新我的正则表达式来检查它们是否相邻? 例如:如何查找至少两个不相邻的字母对
- 这是我一个很好的字符串,因为有两个不相邻的字母:
'aabcc'
。 - 这一个
'aacc'
不是一个好字符串。
使用'aabcc'.match(/(\w)\1+/g)
我可以找到重复的字母对。但是,如何更新我的正则表达式来检查它们是否相邻? 例如:如何查找至少两个不相邻的字母对
'aabcc'
。'aacc'
不是一个好字符串。您可以匹配的字符串,仅由相同的连续的字母,并返回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次或多次出现值存储在第1组$
- 串的端。@Tushar是的,因为有'e'不是“连续重复”。 –
您的意思是要求解决方案来确定字符串中的字母是否有空白? “重叠”一词在这方面没有意义 – mhodges
他的例子表明他的意思是“相邻”而不是“重叠”,我编辑了这个问题。 @ rel1x:由于bb将它们分开,“aabbcc”中的aa/cc对会被视为匹配吗? – the8472
它可以是任何长度,模式总是22122?它可能是221221? – vaso123