I would like to know how to handel numerical regularguar expressions of this type?
You might find that building up the pattern piece-by-piece will help you get a handle on constructing the final pattern.
Given:
iters = 320 (3.05s) aver = 9568.34 us (9603.45 us, 1.01s, 99.79%)
The trickiest part matching a number with a decimal component, which is one or more digits, followed by a literal dot, and one or more digits. Which gives:
my $num = qr/\d+\.\d+/;
If you want to match positive or negative numbers, you would have to prefix that with an optional character class:
my $num = qr/[-+]?\d+\.\d+/;
But given the sample data, I'm not sure that that's even possible. But nonetheless, with this approach, which ever way you want to go doesn't really matter any more, because you just interpolate either of the above patterns into your overall pattern, which gives:
/iters = \d+ \(($num)s\) aver = ($num) us \(($num) us, ($num)s, ($ +num)%\)/
And you're done.
• another intruder with the mooring in the heart of the Perl
In reply to Re: Numerical Regular Expression for pattern match
by grinder
in thread Numerical Regular Expression for pattern match
by alejack12001
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |