如何将两个字符串匹配到一个路由express.js

时间:2015-05-14 23:53:19

标签: javascript regex node.js express

我有一个单一的路线功能,我希望匹配两条不同的路径。我们的想法是为网站的团队成员创建个人资料页面。他们将在 price[i] = Convert.ToDouble(product[i].Substring(7, 4)); 。问题是,有些人有绰号。因此,我需要www.domain.com/name转到与www.domain.com/nickname相同的位置。

这是我到目前为止所得到的:

www.domain.com/name

问题是website.get('/name|nickname', websiteRoutes.about); /asdasdfdnickname之类的问题也会匹配。

如何只匹配名称或昵称而不添加任何额外字符。我相信这被称为独家或?

以下是一些有效的解决方案

/namezzzzzzzz传入路由功能。

以下约翰的回答:['/name', '/nickname']

1 个答案:

答案 0 :(得分:4)

尝试/^\/?(name|nickname)\/?$/i,它只与名称/昵称完全匹配。

这个正则表达式意味着它可以选择以正斜杠开头,它将匹配" name"或"昵称"不区分大小写,然后它可以选择在最后允许另一个正斜杠。