hi there
just a quick question
what is the difference between greedy and non greedy quantifiers?
cheers
hi there
just a quick question
what is the difference between greedy and non greedy quantifiers?
cheers
2008/1/7, Johnathan S. [email protected]:
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/
Cheers
robert
Robert K. pisze:
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
lopex
On Jan 7, 2008, at 11:49 AM, Marcin Mielżyński wrote:
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
James Edward G. II
what is the difference between greedy and non greedy quantifiers?
I agree the best way to find out is to audition it in IRB, but just
for completeness, the difference is that a greedy quantifier will grab
the largest possible match, and the non-greedy quantifier will grab
the smallest possible match.
e.g.:
/<.+>/.match(“stuff”)[0]
=> “stuff”
/<.+?>/.match(“stuff”)[0]
=> “”
The only difference is +?, the non-greedy quantifier; using it, you
get the first possible match, instead of the biggest. QED.
–
Giles B.
Podcast: http://hollywoodgrit.blogspot.com
Blog: http://gilesbowkett.blogspot.com
Portfolio: http://www.gilesgoatboy.org
Tumblelog: http://giles.tumblr.com
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs