Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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_Regex Group_Regex Greedy - Fatal编程技术网

Javascript 正则表达式捕获组仅捕获上次发生的事件

Javascript 正则表达式捕获组仅捕获上次发生的事件,javascript,regex,regex-group,regex-greedy,Javascript,Regex,Regex Group,Regex Greedy,以下是我的意见: start @var=somevar1 @var=somevar2 end 我正在使用这个正则表达式 start(?:\s*\n*(?:@var=(.*)\s*)*)\s*\n*end 其输出应为 somevar1 somevar2 但它只是给予一些东西 是否有任何方法可以获取捕获组的所有匹配项?一种方法是使用带inifite量词的正向查找来断言start,然后在左侧使用换行符 看 (?您可以使用两阶段方法,因此首先获取开始和结束之间的

以下是我的意见:

start

        @var=somevar1
        @var=somevar2

end
我正在使用这个正则表达式

start(?:\s*\n*(?:@var=(.*)\s*)*)\s*\n*end
其输出应为

somevar1
somevar2
但它只是给予一些东西


是否有任何方法可以获取捕获组的所有匹配项?

一种方法是使用带inifite量词的正向查找来断言start,然后在左侧使用换行符


(?您可以使用两阶段方法,因此首先获取
开始
结束
之间的文本,然后匹配
@
字符串。您还可以在lookback中使用无限量词,这ishttps://regex101.com/r/9uzpYD/1 获得更多支持
(?
(?<=^start\n[^]*@var=)\S+(?=[^]*\nend$)