Javascript 包含express参数的express route字符串中的Regex“or”
我试着这么做,但没用Javascript 包含express参数的express route字符串中的Regex“or”,javascript,regex,express,Javascript,Regex,Express,我试着这么做,但没用 app.get("/|/:enter"); 我想要一个app.get发送/和/:enter 更新 两者 及 不要将完整的enter字符串发送到params中间件解析,id变量只是e。需要 app.get("/:enter|/") *颠倒 它以另一种方式覆盖了所有其他路径 app.get/^\/\/:输入$/,函数{…} 文档:不能将regex和params XD组合在一起在您的情况下,您可以将:enter标记为可选参数,如下所示: app.get('/:enter?')
app.get("/|/:enter");
我想要一个app.get发送/和/:enter
更新
两者
及
不要将完整的enter字符串发送到params中间件解析,id变量只是e。需要
app.get("/:enter|/")
*颠倒
它以另一种方式覆盖了所有其他路径 app.get/^\/\/:输入$/,函数{…}
文档:不能将regex和params XD组合在一起在您的情况下,您可以将:enter标记为可选参数,如下所示:
app.get('/:enter?')
您还可以使用将验证应用于:enter参数,以便仅当enter满足某些条件时,路由才匹配。例如:
app.param'enter',/^\w+$/
通过这种方式,可以将regexp与params组合起来 可以使用正则表达式进行路由…是的,但是当有参数invloved时,效果不太好。您是否尝试在正则表达式中使用捕获组?类似于文档中的/^\/\w+?/as?我可能是因为原始正则表达式无效,带有未转换的正斜杠。这是我的正则表达式var regex=new RegExp'^'+params.join |+'$,I;有什么问题吗?由于某种原因,id在paramsIf中往往被剥离为一个字符。如果涉及到params,编写两个app.get可能是更好的选择
app.get("/:enter|/")
app.get('/:enter?')