懒惰(ungreedy)使用正则表达式匹配多个组

我想获取标签对之间的任何值的内容。

  This is one block of text   This is another one  

我想出的正则表达式是

/(.*)/m

虽然,它似乎是贪婪的,并且在最后一个捕获括号内的所有内容。 我希望它尽可能地懒惰,以便每当它看到一个结束标记时,它会将其视为匹配组并重新开始。

如何编写正则表达式,以便我能够在给定方案中获得多个匹配?

我在下面的链接中包含了我所描述的示例

http://rubular.com/r/JW5M3rnqIE

注意:这不是XML,也不是基于任何现有的标准格式。 我不需要任何复杂的东西,比如一个带有一个很好的解析器的完整库。

使用正则表达式模式:

 /(.*?)<\/tag>/im 

懒惰(非贪婪)是.*? 不是.*

要查找多个匹配项,请使用:

 string.scan(/(.*?)<\/tag>/im)