regex - Matching floating point range using regular expression -
i need regular expression, matches within range of floats.
for range 12.33 - 13.41 tried following regex:
(12.[3-9][3-9]|13.?[0-4][0-1]?)\d{0,2}
but doesn't match i.e. 12.41 or 13.39.
is possible regular expressions?
kind regards, bernie70
i don't know worth it, possible. try with:
(12.(3[3-9]|[4-9]\d))|(13(.([0-3]\d|4[01]))?) it means:
12.-- starts '12.',3[3-9]-- 3 followed digit range 3 9 (33-39),|-- or[4-9]\d-- digit range 4 9 followed digit (40-99),|-- or13-- starts '13'.-- dot[0-3]\d-- digit range 0 3 followed digit,|-- or4[01]-- 4 followed 0 or 1,?-- 0 or 1 time
and (.([0-3]\d|4[01]))? treated 1 group, allow '13', not '13.'
it match numbers like: 12.33, 12.99, 13.41 ,13 ,12.41 ,13.39 ,etc. , ignore: 12.32, 13.42, etc.
your code didn't work because:
(12.[3-9][3-9]|13.?[0-4][0-1]?)\d{0,2} [3-9][3-9]- allows numbers ranges (33-39,43-49,53-59,...),[0-4][0-1]- allows numbers (00,01,10,11,20,21,30,31,40,41),
so there huge omitted range
Comments
Post a Comment