我在RegEx很可怕,我需要一個正則表達式來測試某個字符串是否以某種方式結束。例如,如果RegEx測試以foo結尾,「somestringfoo」 - > True和「someotherFoostring」 - > False。它需要區分大小寫,並使用字母數字和下劃線。下面是我得到了什麼,但我不能得到它的工作:RegEx測試字符串結尾?
var test = RegExp.test('/foo$/');
我在RegEx很可怕,我需要一個正則表達式來測試某個字符串是否以某種方式結束。例如,如果RegEx測試以foo結尾,「somestringfoo」 - > True和「someotherFoostring」 - > False。它需要區分大小寫,並使用字母數字和下劃線。下面是我得到了什麼,但我不能得到它的工作:RegEx測試字符串結尾?
var test = RegExp.test('/foo$/');
test
是正則表達式對象的一種方法,所以它將是/foo$/.test(someString)
或new Regexp("foo$").test(someString)
。
但是,測試以某個子字符串結尾的字符串不需要正則表達式,請參見endsWith in JavaScript。
本應該做的工作:
function isFoo(string){
var pattern = /foo$/;
return pattern.test(string);
}
你會做這種方式:
/foo$/.test("somestringfoo")
我試圖使用,但我得到無效的正則表達式: 如果(/ <跨度ID = 「lastmessage」 風格= 「顯示:無;」>斯蒂芬 $ /測試(xmlhttp.responseText)。){ 爲mySound。玩(); } – 2012-07-08 15:39:48
這是一個無效的正則表達式,是的。你當然需要逃避分隔符。 – Bergi 2012-07-08 15:43:18
@Stephen如果你不需要正則表達式的特性,但只需要一個普通的字符串匹配,你應該使用簡單的字符串操作:'str.substr(-pattern.length)=== pattern'。 – Gumbo 2012-07-08 15:43:48
非常感謝!我不知道! – 2012-07-08 15:49:13