Vamos ver um exemplo.
Como vimos o processo consiste basicamente de 3 passos:
- definimos o padrão
- criamos o matcher
- realizamos um loop com find().
A saída deste programa é:
Imagine que temos um texto e queremos localizar nele os possíveis telefones telefones. Vamos considerar que um telefone pode ter o formato 9999-9999 ou 999-9999.
Note como escrevi o padrão. Nele coloquei os dois padrões em uma expressão unida por um OU, assim se achar um dos dois, o resultado será representado. Vamos ver como ficou:
Funcionou.
Você que está lendo e conhece um pouco de expressões regulares já vai falar... mas esta não é a melhor forma de fazer. Ok! Concordo. Podemos facilmente alterar a expressão do código acima para
String regex = "\\d?\\d\\d\\d-\\d\\d\\d\\d";
O padrão \d? indica ao processador regex que ele deve procurar a ocorrência de um número ou nenhum, gerando o mesmo resultado da expressão grande apresentada no código fonte. Mas vale o exemplo didático, não é?
Dê uma olhada no resumo das expressões regulares em http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
Nenhum comentário:
Postar um comentário