On Jan 7, 2008, at 11:49 AM, Marcin Mielżyski wrote:

> Robert Klemme pisze:
>> 2008/1/7, Johnathan Smith <stu_09 / hotmail.com>:
>>> just a quick question
>>>
>>> what is the difference between greedy and non greedy quantifiers?
>> The greediness.
>> Seriously: why don't you just try it out in IRB?
>> s=("a"*10 + "b")
>> s+=s
>> s.scan /\w+b/
>> s.scan /\w+?b/
>
> There's also possessive one (doesn't backtrack)
> ruby 1.9 or jruby 1.1 (trunk)
>
> irb(main):011:0> "aa" =~ /a++a/
> => nil

You can get Ruby 1.8 to not backtrack as well:

$ ruby -ve 'p "aa" =~ /(?>a+)a/'
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.1.0]
nil