正则expression式适用于浏览器,但不适用于Node.js
我必须匹配给定variables的一些string。 说我有变数
var x = 'elseif testing';
现在我想从这个string获取值“testing”。 所以写了。
x.match(/^elseif(.*)/);
后来我意识到有时候我会得到string:
var x = 'else if testing';
所以我写了expression式来匹配:
x.match(/^else[\s+]if(.*)/);
这适用于浏览器,但不在Node.js中。 任何原因为什么?
尝试没有double escapes
和character class
:
x.match(/^else\s*if(.*)/i);
还加上i
不区分大小写的search。
另外注意[\s+]
也将匹配一个文字+
因为内部的character class
+
(和许多其他的正则expression式特殊字符)被认为是文字加。
如果你明确地想匹配一个或零个空格,那么:
x.match(/^else\s?if(.*)/i);