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”
Amoxicillin Drug Category
Stromectol
viagra vs cialis