簡體   English   中英

幫助JavaScript正則表達式

[英]Help with JavaScript regular expression

我需要檢查字符串是否以以下內容開頭:“+ =”

我試過了

str.search("+="));

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

但得到

未捕獲的SyntaxError:無效的正則表達式:/ + = /:無需重復

你能幫我解決這個問題,並為JavaScript正則表達式推薦一個很好的資源嗎?

試試這個正則表達式:

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

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

您不需要正則表達式來測試固定的子字符串。 這樣做:

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

你得到的錯誤是因為+在正則表達式中具有特殊意義。 它意味着“先前的模式被預先放置1次或更多次”。 因此,要搜索文字+您需要使用反斜杠轉義字符。

另外,要在字符串的開頭檢查它,請使用^啟動正則表達式

因此,您想要的模式是^\\+=

一種選擇(除其他外)將是:

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

而且我認為如果處理大字符串會是最快的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM