Javascript 将尽可能多的URL路由参数与regexp的路径匹配?
我想要一种方法来匹配尽可能多的URL参数,例如Javascript 将尽可能多的URL路由参数与regexp的路径匹配?,javascript,regex,url,match,Javascript,Regex,Url,Match,我想要一种方法来匹配尽可能多的URL参数,例如 /teams/:teamID/players/:playerID/seasons/:seasonID/detail 将匹配以/teams开头的任何内容,并匹配现有的尽可能多的参数,直到/detail(且仅限于) 不匹配 /Giants/123/players/456/seasons/2020/detail/12345 我正在使用。如果可能不使用正则表达式,您可能可以使用/作为分隔符将URL拆分为一个数组。获取团队之后的数组的每个元素,直到详细信
/teams/:teamID/players/:playerID/seasons/:seasonID/detail
将匹配以/teams开头的任何内容,并匹配现有的尽可能多的参数,直到/detail(且仅限于)
不匹配
/Giants/123/players/456/seasons/2020/detail/12345
我正在使用。如果可能不使用正则表达式,您可能可以使用
/
作为分隔符将URL拆分为一个数组。获取团队
之后的数组的每个元素,直到详细信息
如果有可能不使用正则表达式,您可能可以使用/
作为分隔符将URL拆分为数组。获取团队
之后的所有数组元素,直到详细信息
我发现了一个很好的库,它完全符合我的需要,非常精简,并使用经过良好测试的Backbone.js片段进行模式匹配:
示例:
pattern: '/users/:id'
url: '/something-else'
extracted params: nothing, because it won't match
pattern: '/users/:id'
url: '/users/scrooge-mc-duck'
extracted params: {id: 'scrooge-mc-duck'}
pattern: '/users/:id'
url: '/users/47'
extracted params: {id: '47'}
pattern: '/schools/:schoolId/teachers/:teacherId'
url: '/schools/richland/teachers/47'
extracted params: {schoolId: 'richland', teacherId: '47'}
这为我提供了我想要的和需要的我发现了一个很好的库,它完全符合我的需要,非常精简,并使用经过良好测试的Backbone.js片段进行模式匹配: 示例:
pattern: '/users/:id'
url: '/something-else'
extracted params: nothing, because it won't match
pattern: '/users/:id'
url: '/users/scrooge-mc-duck'
extracted params: {id: 'scrooge-mc-duck'}
pattern: '/users/:id'
url: '/users/47'
extracted params: {id: '47'}
pattern: '/schools/:schoolId/teachers/:teacherId'
url: '/schools/richland/teachers/47'
extracted params: {schoolId: 'richland', teacherId: '47'}
这正是我想要和需要的我投了反对票,这不是一个可行的答案吗?我投了反对票,这不是一个可行的答案吗?你在用Express吗?或者,还有别的吗?@Brad我在一个React应用程序中,试图使用指向regexp的路径(我相信Express会使用该路径解析URL路由模式)@blue18hutthutt在这种情况下,我建议删除Node.js标记,并在您的问题中提及模块。根据评论中给出的详细信息,重新打开问题,它与关闭时的副本不同。您使用的是Express吗?或者,还有别的吗?@Brad我在一个React应用程序中,试图使用指向regexp的路径(我相信Express会使用该路径解析URL路由模式)@blue18hutthutt在这种情况下,我建议删除Node.js标记,并在您的问题中提及模块。根据评论中给出的详细信息,重新打开问题,它与它关闭时的副本不同。