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