Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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/9/solr/3.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
Ruby on rails Regex:如何使用Regex在多个组中捕获一个组?(红宝石色)_Ruby On Rails_Ruby_Regex - Fatal编程技术网

Ruby on rails Regex:如何使用Regex在多个组中捕获一个组?(红宝石色)

Ruby on rails Regex:如何使用Regex在多个组中捕获一个组?(红宝石色),ruby-on-rails,ruby,regex,Ruby On Rails,Ruby,Regex,我有两组文本: firstgroup (some content) endgroup secondgroup (some content) endgroup 我试图捕捉第一组(而不是第二组)。我正在使用这个正则表达式: firstgroup(.|\n)*endgroup 出于某种原因,正则表达式同时选择第一组和第二组(可能是因为它查看上面最后一个“端组”)。有没有办法修改我的正则表达式,使我只选择第一组(而不是第二组)?你需要一个惰性量词 /firstgroup\n(.*?)\nendg

我有两组文本:

firstgroup
(some content)
endgroup


secondgroup
(some content)
endgroup
我试图捕捉第一组(而不是第二组)。我正在使用这个正则表达式:

firstgroup(.|\n)*endgroup

出于某种原因,正则表达式同时选择第一组和第二组(可能是因为它查看上面最后一个“端组”)。有没有办法修改我的正则表达式,使我只选择第一组(而不是第二组)?

你需要一个惰性量词

/firstgroup\n(.*?)\nendgroup/m
尽快结束这个小组。看

(您可以使用
/m
标志使
匹配新行。)

string=Great!谢谢肯尼:)太快了!非常感谢你。
string=<<EOF
firstgroup
(some content)
endgroup


secondgroup
(some content)
endgroup
EOF

puts string.split(/endgroup/)[0] + "endgroup"