in reply to Numerical Regular Expression for pattern match
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
|
|---|