帮助JavaScript正则表达式

时间:2011-03-15 16:33:46

标签: javascript regex

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

我试过

str.search("+="));

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

但是

  

Uncaught SyntaxError:无效的常规   表达式:/ + = /:无需重复

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

4 个答案:

答案 0 :(得分:9)

试试这个正则表达式:

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

如果字符串以true开头,它将返回+=^(插入符号)表示“从字符串的开头匹配”。 +需要被转义,因为它是一个正则表达式元字符,意思是“前面的一个或多个”(这不是我们想要的)。

答案 1 :(得分:5)

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

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

答案 2 :(得分:4)

你得到的错误是因为+在正则表达式中具有特殊含义。它意味着“先前的模式被预先放置1次或更多次”。因此,要搜索文字+,您需要使用反斜杠转义字符。

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

启动正则表达式

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

答案 3 :(得分:3)

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

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

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