2011-03-15 45 views
2

我需要檢查,如果字符串以下面一行開頭: 「+ =」幫助用JavaScript正則表達式

我已經試過

str.search("+=")); 

str.search("\+\=")); 

但得到

Uncaught SyntaxError: Invalid regular expression: /+=/: Nothing to repeat

你能幫我解決嗎他的,並且還推薦JavaScript正則表達式的好資源?

回答

8

試試這個正則表達式:

/^\+=/.test(str); 

它將返回true如果字符串以+=開始。 ^(插入符號)表示「從字符串的開頭匹配」。 +需要轉義,因爲它是一個正則表達式元字符,意思是「一個或多個前面的」(這不是我們想要的)。 (其中包括)

3

一種選擇是:

if(str.substr(0,2) == "+=") 

而且我認爲,如果處理大量的字符串這將是最快的。

5

你不需要一個正則表達式來測試一個固定的子字符串。只是這樣做:

str.indexOf("+=")===0 
4

你得到的錯誤是becaue +有一個正則表達式的特殊含義。這意味着「以前的模式是prepreated 1次或更多次」。因此,要搜索文字+,您需要使用反斜槓轉義字符。

而且,在該字符串的開頭檢查它,用^

因此開始你的正則表達式,你想要的圖案是^\+=