2015-06-12 3 views
0

Мне нужно регулярное выражение для процента, которое удовлетворяет следующим условиям.Regex tom match percent up to 2 decimal places

  1. чисел от 0,1 до 100.
  2. максимум до 2 десятичных place.It может принимать до одного знака после запятой, также как 0,1.
  3. Принимать номера до 100 без десятичных знаков, таких как 1,2,3 ---- 100.
  4. Может принимать десятичное без указания с 0, как .11, .1, .2 ..

Я использую следующее регулярное выражение, но он не работает должным образом.

^(100\.00|[1-9]?\d\.\d{2})$ 

Заранее спасибо.

+0

Скорее всего, один из них поможет вам: http://regexlib.com/Search.aspx?k=percent&AspxAutoDetectCookieSupport=1 –

+0

Спасибо, этот URL идеально. – user2656780

ответ

2

Использование можно использовать это регулярное выражение:

^((?:|0|[1-9]\d?|100)(?:\.\d{1,2})?)$ 

enter image description here

Try it

+0

Спасибо, это работает отлично. – user2656780

+0

Добро пожаловать. Я просто отредактировал свой ответ, чтобы включить '100.00'. – zessx

+0

Да, я пропустил, чтобы проверить это. Благодарю. – user2656780

1

Попробуйте следующий Regex, сделал несколько изменений в тот, который вы сделали, чтобы вы могли лучше понять его ,

^(100(\.0{1,2})?|[0-9]{0,2}(\.\d{1,2})?)$ 
0

Это упрощено и работает.

^(100|\d{0,2})(\.\d{1,2})?$