Expressões regulares em Java
em: 23-10-2009
Categorias: Artigos & Tutoriais, Java, Programação
Última actualização: 21-10-2009.
“Um homem nasce e morre aprendendo!” – Concordo!
Depois de tanto tempo fugindo deste assunto, eis que finalmente surgiu uma necessidade de estudar expressões regulares, para resolver alguns problemas da faculdade. Já havia tentado estudar expressões regulares em Python, PHP, mas a solução que eu precisava tinha de ser feita com Java. Não tive alternativas senão procurar informações sobre expressões regulares em Java, e agora venho compartilhar o que aprendi. Será uma série de artigos e este é apenas o começo.
Para não perder os outros artigos da série, considere inscrever-se no INFOmoz ou seguir-me no Twitter você também pode se inscrever para receber actualizações por email usando o formulário na lateral deste blog!
O que são expressões regulares
De uma forma informal, diria que expressões regulares são formas de identificar caracteres ou cadeia de caracteres numa String. Podemos por exemplo verificar se a palavra INFOmoz contém a letra “i”, ou então se Informática Moçambique contém a palavra Moçambique. Mais coisas podem ser feitas com expressões regulares, como por exemplo validar número de telefones, endereços de emails ou então os capítulos de uma Bíblia! Eu considero expressões regulares o recurso mais poderoso para a manipulação de Strings!
Quase todas as linguagens modernas possuem suporte para expressões regulares, mas cada uma usa a sua própria implementação. Eu já usava algumas expressões simples para manipular textos aqui no INFOmoz, com PHP, mas agora estou estudando expressões regulares em Java.
Expressões regulares em Java
Vou mostrar como funcionam e qual a importância de expressões regulares em java usando um exemplo prático: Imagina que você quer verificar se uma dada String contém uma sequência de 10 dígitos numéricos. Você poderia muito bem fazer isso sem recorrer a expressões regulares, bastando usar o seguinte método:
public boolean hasTenDigits(String s) { int noDigitsInARow = 0; for (int len = s.length(), i = 0; i < len; i++) { char c = s.charAt(i); if (Character.isDigit(c)) { if (++noDigitsInARow == 10) { return true; } } else { noDigitsInARow = 0; } } return false; }
Veja quantas linhas, ciclos , etc. teve de usar para encontrar a solução.
Agora o mesmo exemplo, com expressões regulares, seria:
public boolean hasTenDigits(String s) { return s.matches(".*[0-9]{10}.*"); }
A interpretação nem é tão complicada assim para quem já conhece a sintaxe de expressões regulares em Java, Python, PHP, etc. Estamos a dizer que se a String s tiver uma sequência de caracteres entre 0 e 9 repetida 10 vezes, então retorna true, false caso contrário. Não interessa se a sequência estiver no início, no fim ou qualquer outro lugar da String.
Bem, foi apenas uma introdução, e o restante virá brevemente. Considere inscrever-se no INFOmoz para eu lhe enviar um email quando aparecer novo conteúdo aqui no portal.Para isso use o formulário na lateral deste blog. Pode também seguir-me no Twitter se usa esta rede de microblog
Posts relacionados:
- Expressão regular para validar passagens bíblicas em Python
- Exemplo de programa orientado a objectos em java
- Dividindo um programa java em classes
- Acessando elementos de um array em Java
- Conceitos básicos sobre Arrays em Java-Criando um array
Faça-nos uma doação!
[...] Também publiquei artigos de outras categorias, como Programação em java quando falei de expressões regulares em Java e Softwares com vários Software Portable divulgados em [...]
Language
Portuguese
English
Veja Também
Em Destaque
A evolução do videogame
Análise de websites moçambicanos
Presidente Armando Guebuza cada vez mais internetado, agora no Twitter e no Youtube!
Nova estrutura para as séries de artigos do INFOmoz
Como se esconder na blogosfera sem ser anónimo?
Janeiro-mês de se organizar!
8 formas de optimizar o seu blog para o Google
Analisando o SEO do blog - Desafio 7 dias
Saiba o que os leitores procuram no seu blog
Como divulgar o seu blog, partilhando informação e conhecimento
Pesquisa
Artigos Actualizados
Patrocinadores
Actualizações por email!
Publicidade
Categorias
Próximos posts
Nenhum artigo agendado.






























