segunda-feira, 16 de novembro de 2015

Expressões Regulares

Caractere curinga . 


Curinga que CASA COM UMA ÚNICA LETRA, NÚMERO OU CARACTERE ESPECIAL

Exemplos:


.ato pato, rato, gato...

n.o não, nao, nÃo, n9o, nxo, n@o...

.im fim, Fim, Sim...

13.30 13.30, 13:30, 13 30, 13-30...

c.umprido comprido, cumprido...


[] Lista.


Mais específica que o ponto, a lista determina quais caracteres ou
 símbolos podem ser casados.

Só pode ser casado um caracter por vez dentro de cada lista.


Exemplos:


n[aã]o nao, não
[pgr]ato pato, gato, rato

12[:. ]45 12:45, 12.45, 12 45

<[BIP]> <B>, <I>, <P>



Obs: O ponto dentro da lista NÃO é um metacaracter e sim um caracter normal

Listas com intervalos:



[0-9] Qualquer número de 0 até 9

[a-z] Qualquer letra de a até z

[A-Z] Qualquer letra de A até Z

Mais de um intervalo em uma única lista:

[0-57-9] [012345789]

[d-fA-C-0-4] [dfABC01234]



Obs1: PARA REPRESENTAR O CARACTERE "-" deve-se coloca-lo sempre NO FINAL da lista:


[a-f-] [abcdef-]


Obs2: PARA REPRESENTAR O CARACTERE ] deve-se coloca-lo sempre NO INICIO da lista:


[]] Casa somente com o ]

[]6-9] Casa como ],6,7,8,9

[]-] Casa com ] ou -

Intervalos respeitam a ordem da tabela ASCII

[:-@] casa com :, ;, <, =, >, ?, e @


Listas Negadas:



O que se encontra dentro da lista NÃO SERÁ CASADO.

[^0-9] casa com qualquer símbolo que NÃO seja número

[:;,.!?][^ ] casa com qualquer pontunação que não esteja seguida por um espaço em branco




Metacaracteres tipo quantificador:


Opcional: ?
Indica NENHUMA OU UMA ocorrência do padrão anterior

[pgr]atos? pato, patos, gato, gatos, rato, ratos

casa[r!]? casa, casar, casa!





*** DICA: Leia a ER átomo por átomo, da esquerda para a direita.
***

Opcional do ultimo caracter ou padrão:

?
Ex: fala[r!]? falar, fala!, fala


Tanto Faz: * (Pode ter um, ter alguns, ter poucos, muitos, infinitos ou porra nenhuma.



Ex:
6*0     0, 60, 660, 6660, ..., 666666666660, ...

bi*p     bp, bip, biip, biiip, biiiip...

b[ip]*   b, bi, bip, biipp, bpipipi, biiiiip, bppp, ...




Tem que ter: +

O + é igual ao asterisco, a diferença é que tem que ter pelo menos uma vez.


Ex:
6+0     60, 660, 6660, ..., 666666660, ...

bi+p     bip, biip, biiip, biiiip...

b[ip]+   bi, bip, biipp, bpipipi, biiiiip, bppp, ...




Chaves: o controle {n,m}


As chaves são a solução para uma quantificação mais controlada, onde se pode especificar exatamente quantas repetições se quer da entidade anterior.


{1,3} de 1 a 3

{3,} pelo menos 3 (3 ou mais)

{0,3} até 3

{3} exatamente 3

{1} exatamente 1

{0,1} zero ou 1    (igual ao opcional)

{0,} zero ou mais (igual ao asterisco)

{1,} um ou mais   (igual ao mais)


Com as chaves, conseguimos simular o funcionamento de outros três metacaracteres, o opcional, o asterisco e o mais.




Inicio de uma linha: "^"


^[0-9] casa com tudo que começar com números

^[^0-9] casa com tudo que NÃO começar com números

[0-9]^ casa com um número seguido de um ^


Portando, a ancora "^" Só é especial no começo da ER.




Cifrão: o fim $


O cifrão marca o fim de uma linha e só é válido no final de uma ER.


^$ linha vazia

Nenhum comentário:

Postar um comentário