1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

expressão regular

Discussão em 'Programação' iniciada por alfinete, 13 de Maio de 2009. (Respostas: 4; Visualizações: 581)

  1. alfinete

    alfinete Power Member

    Código:
    
    ^(\d{0,2})\/(\d{0,3})$
    
    

    estou em asp.net c#

    tenho esta expressão regular

    quero validar - numeros tamnhomax 2/numeros tamanho max3

    do tipo 1/23
    2/12
    12/100

    aguardava um help
     
  2. slack_guy

    slack_guy Power Member

    É quase isso:
    Código:
    ^\d{1,2}\/\d{1,3}$
    
    Explicação:
    Código:
    perl -MYAPE::Regex::Explain -e '$re=YAPE::Regex::Explain->new("/^\\d{1,2}\/\\d{1,3}\$/")->explain;print $re'
    The regular expression:
    
    (?-imsx:/[B]^\d{1,2}/\d{1,3}$[/B]/)
    
    matches as follows:
    
    NODE                     EXPLANATION
    ----------------------------------------------------------------------
    (?-imsx:                 group, but do not capture (case-sensitive)
                             (with ^ and $ matching normally) (with . not
                             matching \n) (matching whitespace and #
                             normally):
    ----------------------------------------------------------------------
      /                        '/'
    ----------------------------------------------------------------------
      ^                        the beginning of the string
    ----------------------------------------------------------------------
      \d{1,2}                  digits (0-9) (between 1 and 2 times
                               (matching the most amount possible))
    ----------------------------------------------------------------------
      /                        '/'
    ----------------------------------------------------------------------
      \d{1,3}                  digits (0-9) (between 1 and 3 times
                               (matching the most amount possible))
    ----------------------------------------------------------------------
      $                        before an optional \n, and the end of the
                               string
    ----------------------------------------------------------------------
      /                        '/'
    ----------------------------------------------------------------------
    )                        end of grouping
    ----------------------------------------------------------------------
    
     
    Última edição: 13 de Maio de 2009
  3. alfinete

    alfinete Power Member

    e chamar no c# assim

    Código:
    
      private bool ValidateFormatNumEntrada(string str, int numi, int numf,int numf2)
            {
    
                //Regex Digit = new Regex(@"^\d{" + numi + "," + numf + "}$");
                Regex Digit = new Regex(@"^\d{"+numi+","+numf+"}/[COLOR=Red]\d[/COLOR]{"+numi+","+numf2+"}$");
    
                //        ^\d{1,2}/\d{1,3}$
                return Digit.IsMatch(str);
    
            }
    
    
    fasso assim e ele no \d vermrlho da este erro unrecognized escape sequence
     
    Última edição: 13 de Maio de 2009
  4. alfinete

    alfinete Power Member

    Código:
     private bool ValidateFormatNumEntrada(string str, int numi, int numf,int numf2)
            {
    
                //Regex Digit = new Regex(@"^\d{" + numi + "," + numf + "}$");
                Regex Digit = new Regex(@"^\d{"+numi+","+numf+"}/"+@"\d{"+numi+","+numf2+"}$");
                return Digit.IsMatch(str);
    
            }
    
    
    não sei se ha outra posibilidade mas esta funciona
     
  5. jfkpt

    jfkpt Power Member

    nao é preciso definir o tamanho minimo.

    \d{,3} tambem deverá funcionar.
     

Partilhar esta Página