Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 排除Express.js路由中的单词列表_Javascript_Regex_Node.js_Express - Fatal编程技术网

Javascript 排除Express.js路由中的单词列表

Javascript 排除Express.js路由中的单词列表,javascript,regex,node.js,express,Javascript,Regex,Node.js,Express,我在Express.js框架中有类似的东西 app.post('/:username/:slug',user.fn) 现在我想用一个正则表达式来检查slug是否等于某些单词(profile,album,等等),传递到下一个路径,并且不捕获slug和用户名 有什么想法吗?你应该把更具体的路线放在第一位: app.post('/:username/profile', middlware) app.post('/:username/album', middleware) app.post('/:use

我在Express.js框架中有类似的东西

app.post('/:username/:slug',user.fn)

现在我想用一个正则表达式来检查slug是否等于某些单词(profile,album,等等),传递到下一个路径,并且不捕获slug和用户名


有什么想法吗?

你应该把更具体的路线放在第一位:

app.post('/:username/profile', middlware)
app.post('/:username/album', middleware)
app.post('/:username/:slug', middleware)

但是,我也不知道你想实现什么目标,你应该把更具体的路线放在第一位:

app.post('/:username/profile', middlware)
app.post('/:username/album', middleware)
app.post('/:username/:slug', middleware)

不过,我也不知道你想要达到什么目的

谢谢。现在我就这么做了。我已经在不同的文件中分开了我的路线,为了保持上面的顺序,我不得不处理几个路线文件。这就是为什么我试图找到一个正则表达式来排除路由中的一些单词,作为解决此类问题的更通用方法。您可以向变量添加正则表达式,如
app.post('/:username(jon | jack)/:slug',中间件)
但我不确定什么是受支持的,什么是不受支持的,因为除了有效值的枚举列表之外,我没有对它进行过任何测试,我认为它没有文档化谢谢。现在我就这么做了。我已经在不同的文件中分开了我的路线,为了保持上面的顺序,我不得不处理几个路线文件。这就是为什么我试图找到一个正则表达式来排除路由中的一些单词,作为解决此类问题的更通用方法。您可以向变量添加正则表达式,如
app.post('/:username(jon | jack)/:slug',中间件)
但我不确定什么是受支持的,什么是不受支持的,因为除了有效值的枚举列表之外,我没有对它进行任何测试,我认为它没有文档化请参阅相关问题请参阅相关问题