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