Expressões Regulares

Hoje precisei fazer validação de email e me deparei com as expressões regulares, não tinha o menor conhecimento sobre elas mas descobri que são bastante úteis, então resolvi postar aqui algumas dos metacaracteres que conheci:

Circunflexo ^

É um metacaractere de posicionamento, indica início de linha. Por exemplo:

^alguma_palavra

quando esta expressão for usada ela buscará por um início de linha seguida da palavra especificada na expressão.

Cifrão $

Também é um metacaractere de posicionamento, ele representa um final de linha. Por exemplo:

alguma_palavra$

esta expressão buscará pela palavra especificada seguida de um final de linha.

Lista []

A lista é utilizada para indicar todos os caracteres que podem aparecer em uma determminada posição. Por exemplo:

[Mm]aria

No exemplo acima a expressão irá aceitar tanto o nome Maria iniciado com lera maiúscula quando com letra minúscula.


Ponto .

Indica que naquela posição poderá ter qualquer caractere. Por exemplo:

.[aeio]$

procura por qualquer caractere seguido de uma vogal e seguido de um final de linha.

O ponto também pode ser utilizado para indicar uma quantidade fixa de caractere. Por exemplo:

^..........$

No exemplo acima ele buscará por uma linha que contenha 10 caracteres.

Chaves {}

Dentro dela pode ser indicado a quantidade do caractere ou metacaractere anterior que sera repedidas. Por exemplo:

a{4}

A espressão acima procurará pela letra a se repetindo 4 vezes.

^.{10}$

Esta expressão faz a mesma coisa que o exemplo citado do Ponto (.), buscará por uma linha que contenha 10 caracteres, pois ele repetirá o ponto 10 vezes.


Curinga ou AND .*

Ele significa “qualquer coisa”. Pode ser usado para procurar por partes distintas de uma string. Por exemplo:

João .* Silva

A expressao acima fará verdadeira todas as strings que tem João qualquer coisa e Silva.

OR |

É usado para encontrar uma de várias opções, procura ou uma palavra ou outra, as opções devem ficar dentro de parentêses(). Por exemplo:

^(palavra1|palavra2|palavra3)

Essa expressão procurará um início de linha seguido da palavra1 ou a palavra2 ou a palavra3.


Interrogração ?

Assim como as chaves ela também é um repetidor. O caractere pode aparecer uma vez ou nao aparecer. Por exemplo:

a?

Asterisco *

Também é um repetidor. O caractere pode não aparecer ou aparecer em qualquer quantidade. Por exemplo:

a*

Mais +

Também é um repetidor. O caractere deve aparecer uma ou mais vezes. Por exemplo:

a+

Lista Negada [^]

Quando se quer negar uma lista é só utilizar o circunflexo antes. Por exemplo:

[^Mm]aria

Ele buscará por qualquer caractere exceto o M maiúsculo e minúsculo.

Referência: Apostila Conhecendo as Expressões Regulares, Aurélio Jargas.

Anúncios