特定的URL路径

时间:2018-11-22 14:39:45

标签: javascript node.js express

我正在寻找一种捕获这些URL的方法:

...但不是这些:


到目前为止,我得到的是这段代码-但显然,我也在捕获不想从上面获取的网址:

var express = require('express');
let app = express();

app.get(/\/subsite(?:\.html)?$/, function(req, res) {

})

我试图通过在正则表达式之前插入 com 来修复代码,但这似乎不是可行的解决方案:/.*com\/subsite(?:\.html)?$/

  

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

这对我有用。

app.get(/.*com\/subsite(?:\.html)?$/, function(req, res) {

})

我在这里进行测试:https://regex101.com/r/42lhKg/1

答案 1 :(得分:0)

您不需要使用Reg Ex对象,它将可以正常工作:

app.get("/subsite(.html)?", function(req, res) {
    /*...*/
})

匹配任何以“ subsite”开头并且可能为.html的路径

答案 2 :(得分:0)

您的正则表达式缺少使子网站仅出现在乞求的^中的约束:

/^\/subsite(?:\.html)?$/

witch与仅使用字符串相同:

"/subsite(.html)?"
我在另一个答案中提到的

别忘了在表达中,您只关心URL的路径和查询部分。