ruby中正则表达式最小匹配与最大匹配

正则表达式中,默认的是最大匹配,即贪婪模式,但有些时候,要最小匹配,

请看下面的例子:(ruby)

str = "abbbbbdwwdwwwede"
puts str[/a.*(dw)/]

结果为:abbbbbdwwdw

str = "abbbbbdwwdwwwede"
puts str[/a.*?(dw)/]

结果为:abbbbbdw

即在需要最小匹配的字符前面加上?,就变成了最小匹配了,即非贪婪模式。

posted on 2012-04-20 01:12  张飞_  阅读(2448)  评论(0编辑  收藏  举报

导航