繁体   English   中英

正则表达式适用于浏览器,但不适用于Node.js

[英]Regular expression works on browser but not in Node.js

我必须匹配给定变量的一些字符串。 说我有变数

var x = 'elseif testing';

现在我希望从这个字符串获得值“测试”。 所以写道。

x.match(/^elseif(.*)/);

后来我意识到有时我会得到字符串:

var x = 'else if testing';

所以我写了表达式来匹配:

x.match(/^else[\s+]if(.*)/);

这适用于浏览器,但不适用于Node.js. 有什么理由吗?

尝试没有double escapescharacter class

x.match(/^else\s*if(.*)/i);

还添加了i以进行不区分大小写的搜索。

另请注意[\\s+]也将匹配文字+因为内部character class + (以及许多其他正则表达式特殊字符)被视为文字加。

如果您明确想要只匹配一个或零个空格,那么:

x.match(/^else\s?if(.*)/i);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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