2016-11-18 2 views
-3

Как написать регулярное выражение для соответствия: - Положительные числа только - от 0 до 9,99 (10,00 не допускается) - точка или запятая может быть использован.Regex для числа между 0 и 9,99

+0

все образцы, найденные здесь, в SO не соответствуют моим критериям. – Ewerton

+1

Тем не менее, есть много похожих вопросов, и вы могли бы уже написать почти рабочий шаблон. Итак, вы что-то пробовали? –

ответ

2

Это работает, если ваш номер не находится в начале строки.

\D\d(?:[\.,]\d+) 

Попробуйте здесь: https://regex101.com/r/s3tIr4/

Объяснение

\ D соответствует любому символу, \ 's не цифры (равный [^ 0-9])

\ d соответствует цифре (равную [0-9])

Группа, не связанная с захватом (?: [.,] \ d +)

Соответствует одному символу, имеющемуся в списке ниже [.,]

\. соответствует символу. в буквальном смысле (чувствительно к регистру)

, соответствует символу, буквально (чувствительно к регистру)

\ D + соответствует цифре (равной [0-9])

+ Квантор - Матчи между одной и неограниченным количеством раз , как можно много раз, возвращаясь по мере необходимости (жадный)

Смежные вопросы