#regex
#регулярное выражение
Вопрос:
Привет, я ищу регулярное выражение, которое соответствовало бы только числам, представляющим проценты до 4 десятичных знаков. значение, например:
должно соответствовать | не должно совпадать |
---|---|
100 | 100.0001 |
99.9999 | 101 |
0.0001 | 100.00001 |
0 |
Я пробовал это, но это не работает (например, не соответствует 0.0004):
"^\d{1,3}\.\d{1,4}$"
Спасибо!
Комментарии:
1. О чем
100.0000
?
Ответ №1:
Я думаю, что лучший способ приблизиться к этому — считать 100% особым случаем.
^(100(.0{1,4})?|d{1,2}(.d{1,4})?)$
Таким образом, вы можете сопоставить 0-> 99,9999 или 100 с точностью до 4 десятичных 0 после него.
Ответ №2:
Используйте изменения для учета различных возможностей.
Это работает:
^((?:100)|(?:100.0{1,4})|(?:d{1,2})|(?:d{1,2}.d{0,4}))$