繁体   English   中英

帮助JavaScript正则表达式

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM