develooper Front page | perl.beginners | Postings from March 2002

Re: Vexing regex question--storing multiple hits for later use

Thread Previous
From:
Jon Molin
Date:
March 6, 2002 02:11
Subject:
Re: Vexing regex question--storing multiple hits for later use
Message ID:
3C85EAC4.3E8CB6CE@resfeber.se
"Daniel J. Tomso" wrote:
> 
> Greetings.
> 
> I'm matching a pattern against a long string, and I want to examine each
> occurrence of the match.  I know that $& stores the match, but is there
> a way to store EVERY match in the string, and then look at them?
> 
> Example:
> 
> $str = "This is a very long string, isn't it?"
> 
> If I want to match against something like /i[st]/ to pick up all the
> 'is' and 'it' strings, then see what I've got (i.e. each instance), can
> I do it?
> 

is this what you're after:

$str = "This is a very long string, isn't it?"
foreach ($str =~ /(i[is])/g)
{
  do stuff
}    

or collect them all:

$str = "This is a very long string, isn't it?"
my @store = ($str =~ /(i[is])/g);

I'm not sure this is what you wanted...
/Jon

> I've tried to wade through the whole \G /g etc. world, but it doesn't
> seem to work for me.
> 
> Thanks!
> 
> Dan T.
> planted@nc.rr.com
> 
> --
> To unsubscribe, e-mail: beginners-unsubscribe@perl.org
> For additional commands, e-mail: beginners-help@perl.org

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About