Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Newby Ruby Regular Expression Question

Reply
Thread Tools

Newby Ruby Regular Expression Question

 
 
Ruchira Bomiriya
Guest
Posts: n/a
 
      06-12-2008
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
 
Reply With Quote
 
 
 
 
Robert Dober
Guest
Posts: n/a
 
      06-12-2008
On Thu, Jun 12, 2008 at 12:44 PM, Ruchira Bomiriya
<(E-Mail Removed)> wrote:
> 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
>
>
> 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

 
Reply With Quote
 
 
 
 
David A. Black
Guest
Posts: n/a
 
      06-12-2008
Hi --

On Thu, 12 Jun 2008, Ruchira Bomiriya wrote:

> 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?


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

--
Rails training from David A. Black and Ruby Power and Light:
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
ADVANCING WITH RAILS July 21-24 Edison, NJ
See http://www.rubypal.com for details and updates!

 
Reply With Quote
 
Robert Dober
Guest
Posts: n/a
 
      06-12-2008
On Thu, Jun 12, 2008 at 1:29 PM, David A. Black <(E-Mail Removed)> wrote:
<snip>
> 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

 
Reply With Quote
 
Ruchira Bomiriya
Guest
Posts: n/a
 
      06-12-2008
On Jun 12, 6:26 pm, Robert Dober <(E-Mail Removed)> wrote:
> On Thu, Jun 12, 2008 at 1:29 PM, David A. Black <(E-Mail Removed)> wrote:
> <snip>> 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
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Seek xpath expression where an attribute name is a regular expression GIMME XML 3 12-29-2008 03:11 PM
C/C++ language proposal: Change the 'case expression' from "integral constant-expression" to "integral expression" Adem C++ 42 11-04-2008 12:39 PM
C/C++ language proposal: Change the 'case expression' from "integral constant-expression" to "integral expression" Adem C Programming 45 11-04-2008 12:39 PM
Matching abitrary expression in a regular expression =?iso-8859-1?B?bW9vcJk=?= Java 8 12-02-2005 12:51 AM
Dynamically changing the regular expression of Regular Expression validator VSK ASP .Net 2 08-24-2003 02:47 PM



Advertisments