JavaScript正则表达式帮助

JavaScript正则表达式帮助,javascript,regex,Javascript,Regex,我需要检查字符串是否以以下内容开头:“+=” 我试过了 str.search("+=")); 及 但是得到 未捕获的语法错误:无效的正则表达式 表达式:/+=/:无需重复 你能帮我解决这个问题,并为JavaScript正则表达式推荐一个好的资源吗?试试这个正则表达式: /^\+=/.test(str); 如果字符串以+=开头,它将返回true。^(插入符号)表示“从字符串开头匹配”。+需要转义,因为它是一个regex元字符,表示“前面的一个或多个”(这不是我们想要的)。一个选项(除其他选项外

我需要检查字符串是否以以下内容开头:“+=”

我试过了

str.search("+="));

但是得到

未捕获的语法错误:无效的正则表达式 表达式:/+=/:无需重复

你能帮我解决这个问题,并为JavaScript正则表达式推荐一个好的资源吗?

试试这个正则表达式:

/^\+=/.test(str);
如果字符串以
+=
开头,它将返回
true
^
(插入符号)表示“从字符串开头匹配”。
+
需要转义,因为它是一个regex元字符,表示“前面的一个或多个”(这不是我们想要的)。

一个选项(除其他选项外)是:

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

我认为如果处理大字符串,它将是最快的。

您不需要正则表达式来测试固定的子字符串。只要这样做:

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

您得到的错误是因为
+
在正则表达式中具有特殊意义。这意味着“之前的图案被预处理1次或多次”。因此,要搜索文字
+
,需要使用反斜杠转义字符

另外,要在字符串开头检查它,请使用
^

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

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