Regex 快速路由器-正则表达式-分号分隔列表
我有一个快速路由器,我想接受分号分隔的列表。*应代表0或多个值,但在我的示例中,它只接受一个或多个值 这是我的密码:Regex 快速路由器-正则表达式-分号分隔列表,regex,node.js,express,Regex,Node.js,Express,我有一个快速路由器,我想接受分号分隔的列表。*应代表0或多个值,但在我的示例中,它只接受一个或多个值 这是我的密码: App.get('/sth/((\\w+(\;\\w+)*))', 然而,它只接受 /sth/aaa;bbb /stg/aaa;bbb;ccc /sth/aaa;bbb;ccc;ddd ... ,但不是 /sth/aaa 如何实现我的目标,或者我的regexp有什么问题?也许我只错过了一件小事 谢谢。将其更改为: /sth/\\w+(;\\w+)* 解决方法或解决方案也
App.get('/sth/((\\w+(\;\\w+)*))',
然而,它只接受
/sth/aaa;bbb
/stg/aaa;bbb;ccc
/sth/aaa;bbb;ccc;ddd
...
,但不是
/sth/aaa
如何实现我的目标,或者我的regexp有什么问题?也许我只错过了一件小事
谢谢。将其更改为:
/sth/\\w+(;\\w+)*
解决方法或解决方案也类似
App.get('/sth/((\\w+(;\\w+){0,}))',
根据我的经验,express不使用标准的regexp,但它有自己的实现,*有不同的用例。很高兴知道它是如何处理的,但对我来说,它似乎从1到无穷大无所不包。
/sth/\\w+(\;\\w+)*
这应该是足够的不幸,这和我写的一样。@user2194805不,这不一样。试试看,我试过了。我的意思是它具有相同的结果,但是我不知道如何在您的解决方案中获得值。对于一个元素,它不起作用,但是现在我知道了原因(见下面我的解决方案)。