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$)