使用Express的Javascript通配符

时间:2015-09-26 19:15:07

标签: javascript regex express

我正在尝试创建一个使用Express获取网址的应用。此网址在?code=参数中定义,但我不知道代码后字符串的值。

我尝试过这样的事情:

app.get('?code=' + /(.*)/i, function(req, res) { /* ... */ });

后来就是这样:

app.get(/\?code=(.*)/i, function(req, res) { /* ... */ });

但它永远不会匹配。我知道使用.*来匹配任何字符串通过正则表达式,但这不是如何。我正在考虑做某种匹配表达式,但我不确定要使用哪个字符串匹配。

1 个答案:

答案 0 :(得分:1)

看起来你可能误解了所期待的东西。另外,你传递的正则表达式字符串只是变成了一个字符串,对你没那么好,但是你还是不需要它。

你的app.get语法应该是这样的:

app.get('/myAwesomeURL/moreURL/:code', function(request, response) {
  var valueForCode = request.params.code;
});

但如果您实际上只是尝试根据单词代码的存在触发路由,那么您可以将直接正则表达式作为第一个参数传递,并测试所有类型的东西:

app.get(/^(?![\w\/\:].*code$)/, function (request, response) {//stuff});
相关问题