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.