http://www.perlmonks.org?node_id=1020001


in reply to Regex to check for very large negative numbers

I think you are approaching this the wrong way around.
  1. Ask yourself "what is the reasonable range of expected data?" (-A <= data <= B).
  2. Now set your lower limit at 2*A and your upper limit at 2*B
  3. Validate your data by asking two questions: 1) is is less than my lower limit? 2) Is it greater than my upper limit?
  4. If the answer to either of these questions is 'yes', drop the data point. (Personally, I'd log it as well for later review.)
Pattern Matching is a Useful Tool, just not a Universal Tool.

Update: Cleaned up the wording. (I hate it when I change metaphors in mid stream.)

----
I Go Back to Sleep, Now.

OGB

  • Comment on Re: Regex to check for very large negative numbers

Replies are listed 'Best First'.
Re^2: Regex to check for very large negative numbers
by igelkott (Priest) on Feb 22, 2013 at 10:13 UTC

    Obviously good approach but wouldn't a regex be more appropriate in this case?

    Whether it's moritz's negative check (as the OP requested) or BillKSmith's positive approach, it seems better to avoid interpretation of a huge number that won't be needed anyway.