Javascript 如何找到至少两对不相邻的字母

Javascript 如何找到至少两对不相邻的字母,javascript,regex,Javascript,Regex,使用'aabcc.match(/(\w)\1+/g)我可以找到重复的字母对。但是如何更新正则表达式以检查它们是否不相邻? 例如: 这是一个很好的字符串,因为有两对不相邻的字母:'aabcc' 这个'aacc'不是一个好字符串 您可以匹配仅由相同连续字母组成的字符串,然后返回false: 函数有效{ 返回!/^(?(\w)\1+++/$/.测试; } log(isValid('aabcc')); log(isValid('aacc'))您的意思是要求解决方案来确定字符串中的字母是否存在间隙?“

使用
'aabcc.match(/(\w)\1+/g)
我可以找到重复的字母对。但是如何更新正则表达式以检查它们是否不相邻? 例如:

  • 这是一个很好的字符串,因为有两对不相邻的字母:
    'aabcc'
  • 这个
    'aacc'
    不是一个好字符串

您可以匹配仅由相同连续字母组成的字符串,然后返回false:

函数有效{
返回!/^(?(\w)\1+++/$/.测试;
}
log(isValid('aabcc'));

log(isValid('aacc'))
您的意思是要求解决方案来确定字符串中的字母是否存在间隙?“重叠”一词在本文中没有意义。他的例子表明,他的意思是“相邻”而不是“重叠”,我编辑了这个问题@rel1x:“aabbcc”中的aa/cc对会被认为是匹配的吗,因为bb将它们分开?它可以是任意长度,并且模式总是22122?可能是221221吗?@mhodges很抱歉,我不明白非重叠的意思。我的任务是确定字符串包含至少两对非重叠的字母对。@ Rel1x:重叠意味着下一个匹配的开始在前一个中间的某个地方。不重叠恰恰相反
lal
gala
在字符串
galal
@Tushar Yes中重叠,因为存在不“连续重复”的
e