我正在尝试创建一个将使用Express获得URL的应用程序。此url是在?code=
参数中定义的,但是在代码之后我不知道字符串的值。
我尝试做这样的事情:
app.get('?code=' + /(.*)/i, function(req, res) { /* ... */ });
然后是这样的:
app.get(/\?code=(.*)/i, function(req, res) { /* ... */ });
但它永远不会匹配。我知道可以使用
.*
通过正则表达式来匹配任何字符串,但这不是方法。我当时在考虑做某种匹配表达式,但不确定使用match的字符串。 最佳答案
看来您可能误会了获得的期望。另外,您传递的正则表达式字符串只是变成一个字符串,对您没有多大帮助,但是您仍然不需要它。
您的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 Javascript通配符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32800995/