字符类\ w不工作?
我在Node中做下面的正则expression式:
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);
这似乎工作。
有什么不同?
你可能想写
var checkPath = '^/path/(\\w+)/messages$'; var path = '/path/54946fde030ba8cc5471efc9/messages'; var match = path.match(checkPath);
所做的更改
-
Escape
\w
as\\w
-
\w
=>[a-zA-Z0-9_]
因此将\w
包含在另一个类中并不会增加任何优势,简单写为\w