Регулярно принимать только цифры c с целой и половиной десятичной точки - PullRequest
0 голосов
/ 24 марта 2020

Я использовал приведенное ниже регулярное выражение, но оно принимает все значения после десятичной точки. Мне нужны только целые числа (например, 12) и половина десятичного разделителя (например, 12,5)

Regex regex = new Regex ("[^ 0-9.] +"); Мне нужно следующее поведение.

Например

  1. Допустимые числа: 12, 12,5
  2. Недопустимые числа 12,1, 12,8

1 Ответ

0 голосов
/ 24 марта 2020

Попробуйте использовать этот шаблон:

\d+(?:\.5)?

Это будет соответствовать целым числам, а также числам, которые составляют половину десятичного компонента 0.5. Если вы также хотите разрешить 0.0 десятичные окончания, то используйте:

\d+(?:\.[05])?

. Для вашего фактического кода вы можете использовать:

Regex regex = new Regex("@\d+(?:\.5)?");
...