【发布时间】:2014-09-05 12:08:11
【问题描述】:
我是 Javascript 和正则表达式的新手,所以我有点卡在如何使路由匹配以 /user/.... 开头的所有 url
我可以app.get(/user/, function(req,req){ /*stuff*/});
但我想知道如果我使用字符串代替正则表达式对象,我该怎么做。例如
app.get("/user/:id", function(req,req){ /*stuff*/});
仅匹配带有"user" 和一个参数的网址。我将如何对其进行编码使其匹配"user" 和 N 个参数
还有使用字符串或文字 javascript regex 对象之间的区别是什么? 我发现即使在字符串表示法中我也可以做这样的事情......
app.get("/user/:d([a-z]*)", function (req, res) {
//more stuff
});
【问题讨论】:
-
get不能那样工作...另外,如果您想使用动态字符串作为正则表达式,请使用RegExp构造函数 -
@AmitJoki 你是什么意思
get不能那样工作...我使用的教程传递了一个字符串作为get方法的正则表达式参数 -
使用字符串和正则表达式的区别在于,任何正则表达式捕获组只能通过索引访问,而字符串形式支持“命名捕获组”。
-
@mscdex 是唯一的区别吗?我记得在某处读到使用正则表达式文字可以为您提供比仅使用字符串更多的功能
标签: javascript regex node.js express