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