logo       

Re: Please Help me: msg#00359

perl-beginners

Subject: Re: Please Help me

Umar Draz wrote:

> I want to print all mobile from above string. Mobile code always start
> from 03. and not more than 4 digits.

> So here I have use this regular expression.

> while($str =~ /(\b(0([3](\d\d)))+[-]+\d{7}|\ b(0([3](\d\d)))+\d{7})/g){  
>      print "Your Mobile No. is " . $1 . "\n";      
> }

> As you can see its not works because there is no space after the word is
> So would you please help me what kind of change is required in above
> regular expression.

#!/usr/bin/perl

use warnings;
use strict;

my $str = "" .
"Total Mobile HONDA Civic, EXI: model 2002, " .
"excellent condition, available for sale. My " .
"Phone # is. 042-6832797, My Cell. 0300-4459899, " .
"My Office Cell is0300-5009228, my other mobile " .
"no is 0356-4094030, my Friend Mobile no is . 03226789871";


while ($str =~ /(03\d\d).*?(\d{7})/g) {
my $area_code = $1 if $1;
my $phone_num = $2 if $2;

print "Your Mobile num is ${area_code}-${phone_num}\n";
}

__END__

prints this:

Your Mobile num is 0300-4459899
Your Mobile num is 0300-5009228
Your Mobile num is 0356-4094030
Your Mobile num is 0322-6789871

Steve


--
To unsubscribe, e-mail: beginners-unsubscribe@xxxxxxxx
For additional commands, e-mail: beginners-help@xxxxxxxx
http://learn.perl.org/


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | Mail Home | sitemap | FAQ | advertise