RegEx – Tutorial

RegEx – Tutorial

Tutorial sobre Expressões Regulares

Expressão regular ou RegEx (do inglês regular expression) é uma forma simples e rápida de identificar padrões em textos. A princípio, ela pode parecer muito complicada, coisa de doido, mas quando começamos a nos familiarizar com sua sintaxe, notamos que ela não é tão complexa assim, muito pelo contrário, existem pouquíssimas instruções.

É muito útil para buscar cadeias de caracteres que podem variar, por exemplo: Se você quiser buscar por David Motta, algumas pessoas podem escrever o primeiro nome sem o “d” no final ou o sobrenome apenas com um “t”, então uma forma simples de buscar nesse caso seria David? Mo(t|tt)a.

Esse post está incompleto, e acredito que deva permanecer assim por muito tempo. A medida que eu for aprendendo e testando mais comandos RegEx vou atualizando esse conteúdo.

Vou direto ao ponto, mostrar os principais operadores e suas funções:

| Ou, significa que pode ser cerificado qualquer uma das qualquer uma das ocorrências a|b, encontra tanto “a” como “b”
() Agrupamento, define precedência, escopo e outros Mo(t|tt)a, encontra tanto Motta, Mota
? Zero ou uma ocorrência David? Mo(t|tt)a, encontra tanto Davi Mota, David Motta, Davi Motta
* Zero ou mais ocorrências R$ 10*.00, encontra R$10.00, R$100.00, R$ 1000,00, R$ 10000,00
+ Uma ou mais ocorrências Exclamação!+, encontra Exclamação!, Exclamação!!, Exclamação!!!!!
. Qualquer caractere (algumas implementações excluem a quebra de linha) Ca.ar, encontra catar, casar, cavar
[ ] Lista de caracteres [a-z], encontra a, b, d; [abc], encontra a, b ou c; [0-9], encontra 0, 1, 2; [012\-9], encontra 0, 1, -; [0-9]*, encontra 987, 123, 564878
[^ ] Lista de caracteres inexistentes [^a-z], [^abc], [^0-9], [^012\-9]
^ Início da cadeia de caracteres/começo das linhas //TODO
$ Fim da cadeira de caracteres/fim das linhas //TODO
{m,n} No mínimo “m” e no máximo “n” a{3,5}, encontra somente “aaa”, “aaaa”, e “aaaaa”
?? Versão não-gulosa de ?. Dado o texto “aaa”, a? casa “a” enquanto a?? casa “” //TODO
*? Versão não-gulosa de *. Dado o texto “aaa”, a* casa “aaa” enquanto a*? casa “” //TODO
+? Versão não-gulosa de +. Dado o texto “aaa”, a+ casa “aaa” enquanto a+? casa “a” //TODO
{m,n}? Versão não-gulosa de {m,n}. Dado o texto “aaa”, a{2,3} casa “aaa” enquanto a{2,3}? casa “aa” //TODO

3 Replies to “RegEx – Tutorial”

Deixe uma resposta

O seu endereço de e-mail não será publicado.