[英]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.