0
我有一个关于nodejs/javascript中的正则表达式的问题。正则表达式的Javascript字符串没有转义
我想要实现的是将正则表达式(从数据库加载为字符串)转换为js中的RegExp对象。
var regex = /Apache\/([0-9\.]+) \(([a-zA-Z ]+)\) (.+)/;
var regexString = '/Apache\/([0-9\.]+) \(([a-zA-Z ]+)\) (.+)/';
var str = 'Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny18';
var match = str.match(regex);
var match2 = str.match(new RegExp(regexString));
console.log(match);
console.log(match2);
这就是我到目前为止的尝试。但是,正如你可以看到,如果字符串被逃脱它不会匹配...... 我的输出:
[ 'Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny18',
'2.2.9',
'Debian',
'PHP/5.2.6-1+lenny18',
index: 0,
input: 'Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny18' ]
null
我失去了一些东西简单?如果对我没有任何建议? 谢谢