Регулярное выражение, чтобы соответствовать шаблону процентов с 4 десятичными знаками?

#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}))$
 

ДЕМОНСТРАЦИЯ