REGEX процент 2 десятичный с + и минус значение
Это мое регулярное выражение для проверки процента с 2 десятичными до 100
^-?(100([.]0{1,2})?)$|(^\d{1,2}([.]\d{1,2})?)
но работает только в 99.16
и не как -99.16
Как разрешить также минус процент?
2 ответа
Решение
Вы только что пропустили ^-? во втором варианте
^-?(100([.]0{1,2})?)$|(^-?\d{1,2}([.]\d{1,2})?)
У вас есть две альтернативы:
- особый случай 100 процентов
- стандартный случай 0..99 процентов
обе альтернативы могут иметь знак минус (-
):
(^-?(100([.]0{1,2})?)$)|(^-?[0-9]{1,2}([.][0-9]{1,2})?$)
в качестве замечания, вы, вероятно, хотите [0-9]
при сопоставлении цифр ни один символ не рассматривается как цифра '\d'
скажем, персидские цифры ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷