Regex NodeJS将行分隔字符串拆分为对象
我正在加载一个文件的内容,如下所示:Regex NodeJS将行分隔字符串拆分为对象,regex,node.js,Regex,Node.js,我正在加载一个文件的内容,如下所示: one-apple two-banana three-orange 我希望返回一个键值对象。以下是到目前为止我得到的结果,但它只返回一个空对象: var regex = /([\\w-]+)\\-([\\w-]+)/g; var match, results = {}; while((match = regex.exec(data)) !== null){ results[match[1]] = match[2]; } 代码中唯一错误的是rege
one-apple
two-banana
three-orange
我希望返回一个键值对象。以下是到目前为止我得到的结果,但它只返回一个空对象:
var regex = /([\\w-]+)\\-([\\w-]+)/g;
var match, results = {};
while((match = regex.exec(data)) !== null){
results[match[1]] = match[2];
}
代码中唯一错误的是regexp。应该是:
var regex = /([\w-]+)\-([\w-]+)/g;
regexp中的\\
表示符号本身。所以,[\\w]
的意思是\
或w
,而不是像您预期的那样[a-zA-Z]
对于每个\
符号,只有一个原因可以转义-如果要将regexp存储在字符串中。因此,以下代码也将起作用:
var regex = new RegExp('([\\w-]+)\\-([\\w-]+)', 'g');