Here's where you went astray:if (ln =~ /(\[+-]d) +(\[+-]d.d) +(\[+-]d.d) +(\[+- +]d.d) +(\[+-]d.d) +(\[+-]d.d)/) { do something}
\d matches a digit. \[+-]d.d matches an open_square_bracket, a plus, a minus, a close_square_bracket, a lowercase "d", any single character except newline, and another lowercase "d".
If you want to match "3.4" or a similar x.x format number, you'd want \d\.\d.
If you want to match a number, you can use one of the regexes in How do I determine whether a scalar is a number/whole/integer/float? (You'll want to remove the anchors and manage the capturing parens, see below.) Or you could use Regexp::Common.
It's a good idea to go read the Regular Expression Reference and the Regular Expression Tutorial.
-QM
--
Quantum Mechanics: The dreams stuff is made of
In reply to Re: Numerical Regular Expression for pattern match
by QM
in thread Numerical Regular Expression for pattern match
by alejack12001
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |