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
Regex 快速路由器-正则表达式-分号分隔列表_Regex_Node.js_Express - Fatal编程技术网

Regex 快速路由器-正则表达式-分号分隔列表

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+)* 解决方法或解决方案也

我有一个快速路由器,我想接受分号分隔的列表。*应代表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+){0,}))',

根据我的经验,express不使用标准的regexp,但它有自己的实现,*有不同的用例。很高兴知道它是如何处理的,但对我来说,它似乎从1到无穷大无所不包。

/sth/\\w+(\;\\w+)*
这应该是足够的不幸,这和我写的一样。@user2194805不,这不一样。试试看,我试过了。我的意思是它具有相同的结果,但是我不知道如何在您的解决方案中获得值。对于一个元素,它不起作用,但是现在我知道了原因(见下面我的解决方案)。