Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Adicionei o hífen dentro do colchete.

Eu testei este formato. Ele aceita com ou sem o hífen, e o hífen pode ser colocado em qualquer parte do número do telefone. Por ex: 9875-44546. Pode ser usado assim também?

string padrao = "[-0-9]{9,10}";

          string textoDeTeste = "Meu nome é  Guilherme, me ligue em 98754-4546";

          Match resultado = Regex.Match(textoDeTeste, padrao);

          Console.WriteLine(resultado.Value);
          Console.ReadLine();
2 respostas
solução!

Olá Luiz, tudo bem?

Este padrão funciona para o exemplo acima, mas também aceitaria um número estranho como 12-3456789 ou -123456789. Esta validação acaba aceitando padrões diferentes do eperado. A ideia de utilizar uma regex é criar um padrão e que esse padrão seja respeitado.

Um exemplo de como algo do tipo pode ser desastroso, seria se uma validação de um email apenas espera que tenha um @ e um . independente da posição desses caracteres.

Com isso, sem colocar nenhum padrão de como deve ser esse formato, a seguinte string poderia ser um e-mail válido: .@sjkdnsjfnjdn

Então, quando for utilizar uma regex, tente limitar o máximo possível para que a string esteja realmente dentro do padrão esperado.

Bons estudos!

Agora entendi o espírito da coisa. Obrigado pela resposta Fabiano.