Dear Expert,
I have recently started Ruby programming. I have used Perl before and
liked it mostly due to the power of regular expressions. But Ruby’s
ability scale and modularize is absolutely amazing.
I want to find FOUR instances of A in the string “AaAbAcAd” using
regular expressions.
I tried
str = “AaAbAcAd”
md = str.match(/(A)/)
and get just one instance (seems like the last ‘A’)
The perl equivalent of what I really want is
$str = “AaAbAcAd”
@md = ($str =~ /A/g)
So what I really want to find out is if there is something equivalent
to the Perl g option available in Ruby. How would you get all FOUR
matches in a reasonable way?
Thanks in advance.
Ruchira
On Thu, Jun 12, 2008 at 12:44 PM, Ruchira B.
[email protected] wrote:
and get just one instance (seems like the last ‘A’)
The perl equivalent of what I really want is
$str = “AaAbAcAd”
@md = ($str =~ /A/g)
maybe String#scan does the same, sorry my perl times are too remote
str = “AaAbAcAd”
md = str.scan /A/
HTH
Robert
–
http://ruby-smalltalk.blogspot.com/
As simple as possible, but not simpler.
Albert Einstein
Hi –
On Thu, 12 Jun 2008, Ruchira B. wrote:
So what I really want to find out is if there is something equivalent
to the Perl g option available in Ruby. How would you get all FOUR
matches in a reasonable way?
str.scan(/A/). I can’t help wondering though… what made you think
that the A you got is the last A? (It’s actually the first A.)
David
On Thu, Jun 12, 2008 at 1:29 PM, David A. Black [email protected]
wrote:
str.scan(/A/).
Hey it does not only happen to Rick, it happens to me too;)
Does this mean I am one of the best?
–
http://ruby-smalltalk.blogspot.com/
As simple as possible, but not simpler.
Albert Einstein
On Jun 12, 6:26 pm, Robert D. [email protected] wrote:
On Thu, Jun 12, 2008 at 1:29 PM, David A. Black [email protected] wrote:
> str.scan(/A/).
Hey it does not only happen to Rick, it happens to me too;)
Does this mean I am one of the best?
–http://ruby-smalltalk.blogspot.com/
As simple as possible, but not simpler.
Albert Einstein
Thanks Robert, str.scan(/A/) does what I wanted.
Sorry for the confusion with the last A issue. I was messing with
various regex patterns and some of them were greedy enough, took some
of my brain cells away and made me think stupid things.
But str.scan(/A/) has made me regain my faith in ruby’s regular
expressions. Not that I was particularly skeptic, but was merely
stuck!
Thanks again.
Ruchira