Note que o telefone somente podera conter numeros. Qualquer hifen ou espaco ira invalidar a expressao.
Rafael
betonit
E há alguma solucao para validar uma string q recebe um nome usando regexp? Como já conversamos, o nome poderá vir acentos…
Rafael_Steil
Simplesmente verifique se o nome nao eh nulo ou vazio. Nao me parece haver motivos plausiveis para validar “nome” utilizando expressoes regulares. Voce tera mais dor de cabeca e problemas do que vantagens.
Rafael
T
thingol
Se você usar uma expressão regular como “[\p{L}\p{Space}]+”, por exemplo, você até consegue validar os casos em que o nome está em chinês, tipo 魏婀坦 (gerei este nome no site http://www.mandarintools.com/chinesename.html ), mas não consegue validar os casos em que o nome tem apóstrofos, pontos, vírgulas etc.
Então você tenta incluir pontuação: “[\p{L}\p{Space}\p{Punct}]+”
mas então você acaba percebendo que na verdade isso não valida absolutamente nada, já que deixa passar qualquer coisa. É melhor fazer como o Rafael lhe sugeriu.
E
Edu4rd0
Uma dúvida, como eu faria para pegar apenas uma certa quantidade? por ex, pegar apenas 2 digitos hexadecimais?
T
thingol
[0-9A-Fa-f]{2} se não me engano.
Você também pode usar
(\p{XDigit}){2} mas não acho muito claro, prefiro mostrar explicitamente que é um dígito hexadecimal, em vez de forçar a pessoa que está lendo o código a procurar no Javadoc a definição de XDigit.