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