Javascript 通配符与 Express

标签 javascript regex express

我正在尝试创建一个使用 Express 获取 url 的应用程序。这个url是在?code=参数中定义的,但是我不知道code后面的字符串的值。

我尝试过做这样的事情:

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

后来是这样的:

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

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

最佳答案

看来您可能误解了 get 的期望。另外,您传递的正则表达式字符串只是变成了一个字符串,对您没有多大好处,但您无论如何都不需要它。

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

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

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

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

关于Javascript 通配符与 Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32800995/

相关文章:

javascript - 带有 data-* 属性的 jQuery 选择器

javascript - 在异步函数更新 Node.js 模块后,如何从该模块返回值?

regex - 正则表达式使用Dart lang

c# - 正则表达式系统的 IndexOutOfRangeException

node.js - 为什么当我从 postman 中点击以下功能时会卡住?

javascript - NodeJS 和 Express - 导出函数跳过 SQLite3 DB 查询

javascript - 根据node.js中的错误代码进行错误处理

javascript - 中间的内容

regex - 创建正则表达式来查找带有括号首字母缩略词的句子 (VBasic Word)

node.js - Jade 的产量相当于多少?