角色类\ w不工作?

时间:2014-12-19 18:51:29

标签: regex node.js

我在Node中执行以下正则表达式:

 var checkPath   = '^\/path\/([\w]+)\/messages$';
 var path    = '/path/54946fde030ba8cc5471efc9/messages';
 var match   = path.match(checkPath);

这似乎不起作用。

然而,当我这样做时:

 var checkPath   = '^\/path\/([0-9a-z]+)\/messages$';
 var path    = '/path/54946fde030ba8cc5471efc9/messages';
 var match   = path.match(checkPath);

似乎有效。

有什么区别?

1 个答案:

答案 0 :(得分:3)

你可能想写像

var checkPath   = '^/path/(\\w+)/messages$';
var path    = '/path/54946fde030ba8cc5471efc9/messages';
var match   = path.match(checkPath);

所做的更改

  • \w转换为\\w

  • \w => [a-zA-Z0-9_]因此将\w括在另一个类中并不会增加任何优势,只需简写为\w