MarvC has asked for the wisdom of the Perl Monks concerning the following question:
Hello, I'm new to Perl and regex and i cant seem to get this expression to work, I'm trying to match any amount of white space 0 or 1 times followed by any amount of words saved in a buffer(there can be any amount of space in between the words), after the words there has to be at least 1 or more white space and followed by a digit that ranges from -99 to 99 here's what I have wrote down.
print "Enter a string: "; while(<>) { $line = $_; last if ($_ =~ /^\s*[Q|q]{1,1}[U|u]{1,1}[I|i]{1,1}[T|t{1,1}\s*$/); next if ($_ =~ /^$/ or $_ =~ /^\s+/$); if($line =~ /\s*([a-zA-Z]+\s*)+\s*(-?\d\d?)\s*/) { print $_; } }
this if($line =~ /\s*([a-zA-Z]+\s*)+\s*(-?\d\d?)\s*/) is where the problem comes in. Is there any notable problems here that I'm over looking?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: New to perl and regex
by NetWallah (Canon) on Nov 19, 2012 at 02:17 UTC | |
|
Re: New to perl and regex
by Athanasius (Archbishop) on Nov 19, 2012 at 02:15 UTC | |
|
Re: New to perl and regex
by Kenosis (Priest) on Nov 19, 2012 at 01:37 UTC | |
|
Re: New to perl and regex
by Utilitarian (Vicar) on Nov 19, 2012 at 08:44 UTC | |
by rovf (Priest) on Nov 19, 2012 at 09:18 UTC |