terça-feira, 10 de janeiro de 2012

Expressões regulares II

Agora vamos tentar uma expressões mais complicadas.


Expressão RegexSignificado
[abc]busca os caracteres a, b ou c
[^abc]É uma negação da busca (o inverso da linha de cima), quer dizer que busca qualquer caracter menos a, b ou c
[a-zA-Z]Define um intervalo de busca, que contem de a a z (minúsculas ou maiúsculas)
[a-d[m-p]]Realiza uma operação de união, considera os caracteres de a a d ou m a p
[a-dm-p]
[a-z&&[def]]Esta é uma operação de interseção. O resultado serão caracteres que estejam simultaneamente na faixa de a a z e sejam iguais a d, e ou f.
Este é um exemplo estúpido pois é a mesma coisa de [def]
[a-z&&[^bc]]Esta subtração já é melhor. Considera caracteres de a a z, exceto os iguais a b e c.
Esta operação equivale a [ad-z]
[a-z&&[^m-p]]Considera caracteres de a a z, exceto os aqueles entre m e p.
Esta operação equivale a [a-lq-z]
Note que o conteúdo entre colchetes representa um único caracter.

Busca

Se lembrarmos que o Java e Linux são sensíveis ao caso, imagine procurar nos diretórios planilhas de relatório. Sabemos que elas chamam relatório e terminam com .xls. Como fazer isto em regex?
A expressão [rR]elat[oó]rio\.xls é uma primeira aproximação considerando o que já vimos até agora.



Mais para frente veremos um aprimoramento desta pesquisa.


Operação de União



Continua na parte III >>>.

Nenhum comentário:

Postar um comentário