2015-11-25 92 views
-2

一個句子串的單個事件如果一個句子說比賽中使用正則表達式

「你好你好」

測試應該返回假的,但如果它像

「Hello Jhon」

它返回true。

我認爲這是我必須做的/(hello){1}/

+0

爲什麼不檢查你有多少場比賽得到什麼?這比編寫一個只允許一次出現的複雜正則表達式要容易得多。 – Pavlin

+1

默認情況下,regexp實際上是否區分大小寫? – usr2564301

回答

3

一個簡單的解決方案,沒有正則表達式複雜,但計算一個給定的字符串匹配的數量:

function isValid(str) { 
    return (str.match(/hello/gi) || []).length === 1; 
} 
2

這個表達式會匹配任何重複的字:

(\b\w+\b).+\1 

說明:

Regexper.comRegexper

代碼

要檢查一個字符串不包含匹配:

!("testing testing 1 2 3...".match(/(\b\w+\b).+\1/)) #=> false 
!("testing 1 2 3...".match(/(\b\w+\b).+\1/)) #=> true