Re: regular expression problem ? and * characters
- From: boyd <tbmoore9@xxxxxxxxxxx>
- Date: Tue, 30 May 2006 12:59:25 GMT
In article <1148814104.790698.106250@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"compboy" <compboyxyz@xxxxxxxxx> wrote:
Im writing a perl script now and this is part of the sricpt
chomp = ($pattern = ARGV[0]);
for each(@thisarray)
{
if($_ =~ m/$pattern/i)
{
print ("found it here, $_");
}
}
the array @thisarray is given.
this scprit reads from the command line and pass that input the the
pattern
and will check if the pattern match the any string inside the array it
will
print the msg.
I have done this part succesfully if the input is just a normal string
like a ab
my question is how do you imporve it so it can accept the input that
contains* and ?
character(s) like *ab? a*b* *a*
thanks a lot.
I think you only have to put the '*ab', etc. in single quotes on the
command line.
This example works if you do that: (I called it reg.pl)
#!/usr/bin/perl
use strict;
use warnings;
use Carp;
$|++;
my $regex = shift;
my @array = qw(this that there fore);
for(@array) {
print $_, "\n" if /$regex/;
}
__END__
When I run it with
reg.pl 'th*'
I got:
this
that
there
Boyd
Jer 29.11
.
- References:
- regular expression problem ? and * characters
- From: compboy
- regular expression problem ? and * characters
- Prev by Date: Re: sorting?
- Next by Date: Re: monitoring file like tail -f in perl
- Previous by thread: regular expression problem ? and * characters
- Next by thread: year not returned by Time::localtime
- Index(es):
Relevant Pages
|
|