Expressjs regExp与参数
嗨,我想让我的正则expression式在expressJS工作。 如果我进入/ se / home / helloworld,它总会触发第一个“Home”而不是“Test”。 如何解决这个问题?
很好,它必须处理这条树的path。
/se/home/:user /se/home/:user/:notes /se/home/:user/:notes/:someting
这是我迄今为止pipe理的…
app.get(new RegExp("^(\/(se|en))?\/home\/"), function(req, res, next) { console.log("Home"); res.render('index', { title: 'Express' }); }); app.get(new RegExp("^(\/(se|en))?\/home\/([^/]+)"), function(req, res, next) { console.log("Test"); console.log(req.params); res.render('index', { title: 'Express test' }); });
您需要使用第一个正则expression式的锚来确保home/
之后没有其他东西:
RegExp("^(/(se|en))?/home/$")
或者,使用string文字:
/^(\/(se|en))?\/home\/$/
否则,你会得到一个匹配。
看演示