2012-07-08 155 views
0

我在RegEx很可怕,我需要一個正則表達式來測試某個字符串是否以某種方式結束。例如,如果RegEx測試以foo結尾,「somestringfoo」 - > True和「someotherFoostring」 - > False。它需要區分大小寫,並使用字母數字和下劃線。下面是我得到了什麼,但我不能得到它的工作:RegEx測試字符串結尾?

var test = RegExp.test('/foo$/'); 

回答

1

test是正則表達式對象的一種方法,所以它將是/foo$/.test(someString)new Regexp("foo$").test(someString)

但是,測試以某個子字符串結尾的字符串不需要正則表達式,請參見endsWith in JavaScript

+0

非常感謝!我不知道! – 2012-07-08 15:49:13

1

本應該做的工作:

function isFoo(string){ 
    var pattern = /foo$/; 
    return pattern.test(string); 
} 
2

你會做這種方式:

/foo$/.test("somestringfoo") 
+0

我試圖使用,但我得到無效的正則表達式: 如果(/ <跨度ID = 「lastmessage」 風格= 「顯示:無;」>斯蒂芬 $ /測試(xmlhttp.responseText)。){ 爲mySound。玩(); } – 2012-07-08 15:39:48

+0

這是一個無效的正則表達式,是的。你當然需要逃避分隔符。 – Bergi 2012-07-08 15:43:18

+0

@Stephen如果你不需要正則表達式的特性,但只需要一個普通的字符串匹配,你應該使用簡單的字符串操作:'str.substr(-pattern.length)=== pattern'。 – Gumbo 2012-07-08 15:43:48