Regular Expressions em C#

1 resposta
rodrigo.bossini

Pessoal,

Tenho o seguinte código em c#:

static void Main(string[] args)
        {
            Regex padrao = new Regex("(([0-1][0-9])|([2][0-3])):([0-5][0-9]):(([0-5][0-9]))"); 

           Console.WriteLine( padrao.IsMatch("00:00:000") );

Eu queria saber pq está imprimindo true neste caso. Queria que ele permitisse somente dois valores no campo de segundos…

1 Resposta

juliofsn

Isso é por que a expressão procura o padrão indicado dentro da string passada, retornando true se o padrão for encontrado, mesmo que haja mais caracteres na string.

Para definir que só e somente o padrão é válido, você precisa iniciar a expressão com o “^” que indica o início da string e terminar com o “$” que indica o fim da string.

Criado 4 de maio de 2010
Ultima resposta 4 de mai. de 2010
Respostas 1
Participantes 2