My requirement is a regular expression it accepts decimal values between 0 to 100 (like 1,2,3,….,99, 0.1,0.2,0.3,…..,99.9, 0.01,0.02,0.03,…..,99.99, 00.01 to 99.99). I found one solution
/^(?!0?0.00$)d{1,2}.d{2}$/
but it accepts only decimal values like 00.01 to 99.99.
Advertisement
Answer
How about:
^(?!0+(?:.0+)?$)d?d(?:.dd?)?$
Explanation:
^ : begining of string
(?! : negative lookahead, assumes there is no:
0+ : 1 or more zero
(?: : non capture group
.0+ : a dot then 1 or more zeros
)?$ : end of group, optional, until end of string
) : end of lookahead
d?d : 1 or 2 digit
(?: : non capture group
.dd? : a dot followed by 1 or 2 digit
)? : end of group, optional
$ : end of string