2011-04-18 3 views
0

Я пытаюсь передать значение 95%Нужна помощь для регулярного выражения для величины процентов

numexu = 95% 
"^((>|GT|>=|GE|<|LT|<=|LE|==|EQ|!=|NE)?\\s*\\d?[%]?)$ 
if (!regex.IsMatch(numexu)) 
      throw new ArgumentException("Percent expression is in an invalid format."); 

он бросает исключение в коде.

С уважением, Regex

+0

^((> | GT |> = | GE | <| LT | <= | LE | == | EQ |! = | NE)? \ S * \ d? [\%]?) $ Попробуйте это – Badr

+1

Не могли бы вы оценить язык (python, perl, java?) И проверить свою презентацию (отступ) – Bruce

+0

Было бы полезно, если вы сообщите нам язык и вставьте часть кода, который хорошо отформатирован. – stema

ответ

2

Вы проверяете только 1 числа \\d?, попробуйте вместо этого: \\d{0,2}, это принимает 0, 1 или 2 номера. ? делает его совпадением 0 или 1 раз.

Я не уверен, что вам нужно избежать %, если да, то \\%. Кроме того, если у вас есть только один символ, который вы можете пропустить скобки [%], так % (или \\%, если это необходимо, чтобы избежать)

0
This Function will work for your requirement 

function check() { 
    var txtfield; txtfield =document.getElementById('txtbox').value; 
    var reg=/^(\d{0,2}%?$)/; 
    if(reg.test(txtfield)){ 
    alert("match"); 

    } 
    else { alert("Try again"); } 
     } 
Смежные вопросы