Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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 如何使正则表达式捕捉可选组_Javascript_Regex - Fatal编程技术网

Javascript 如何使正则表达式捕捉可选组

Javascript 如何使正则表达式捕捉可选组,javascript,regex,Javascript,Regex,我想找到一个表达式,它可以将2到3个组带入数组,而第三个组是可选的(可以是也可以不是) 以下是我目前使用的表达方式: var expr = /^\s*(.+)\s+in\s+(.*?)\s*$/ 如果用户只有“thing in Things”-我希望匹配数组如下所示: [1] - thing [2] - Things [1] - thing [2] - Things [3] - | orderBy "id" 如果用户具有“thing in Things | orderBy“id”-我

我想找到一个表达式,它可以将2到3个组带入数组,而第三个组是可选的(可以是也可以不是)
以下是我目前使用的表达方式:

var expr = /^\s*(.+)\s+in\s+(.*?)\s*$/
如果用户只有“thing in Things”-我希望匹配数组如下所示:

[1] - thing

[2] - Things
[1] - thing

[2] - Things

[3] - | orderBy "id"
如果用户具有“thing in Things | orderBy“id”-我希望匹配数组如下所示:

[1] - thing

[2] - Things
[1] - thing

[2] - Things

[3] - | orderBy "id"
以下是指向该问题的链接:

感谢转发类似这样的内容:
/^\s*(.+)\s+在\s+(.*?)\s*(?:\s+\\\s+(.*))?$/


您的意思是要同时按
中的
|
拆分字符串吗?