正则表达式中,默认的是最大匹配,即贪婪模式,但有些时候,要最小匹配,
请看下面的例子:(ruby)
str = "abbbbbdwwdwwwede"
puts str[/a.*(dw)/]
结果为:abbbbbdwwdw
str = "abbbbbdwwdwwwede"
puts str[/a.*?(dw)/]
结果为:abbbbbdw
即在需要最小匹配的字符前面加上?,就变成了最小匹配了,即非贪婪模式。
正则表达式中,默认的是最大匹配,即贪婪模式,但有些时候,要最小匹配,
请看下面的例子:(ruby)
str = "abbbbbdwwdwwwede"
puts str[/a.*(dw)/]
结果为:abbbbbdwwdw
str = "abbbbbdwwdwwwede"
puts str[/a.*?(dw)/]
结果为:abbbbbdw
即在需要最小匹配的字符前面加上?,就变成了最小匹配了,即非贪婪模式。