Escolar Documentos
Profissional Documentos
Cultura Documentos
GUIA
RÁPIDO DE
REGEX
WWW.TREINAWEB.COM.BR
1. Componentes das expressões regulares 04
2. Formatos das expressões regulares 04
3. Matches 05
4. Meta-caracteres 05
4.1. Início (^) e fim ($) 06
4.2. Grupo de caracteres ([ e ]) 06
4.3. Ponto (.) 07
4.3.1. Operações lógicas 07
4.3.2. AND (.*) 07
4.3.3. OR (I) 08
4.3.4. NOT (^) 08
4.4. Meta-caracteres de quantificação 09
4.4.1. Chaves ({ e }) 09
4.4.2. Plus (+) 09
4.4.3. Interrogação (?) 09
4.4.4. Asterisco (*) 10
4.5. Outros meta-caracteres 10
4.5.1. Hífen (-) 10
4.5.2. Dígito e não-dígito (\d e \D) 11
4.5.3. Alfanumérico e não-alfanumérico (\w e \W) 11
4.5.4. Espaço e não espaço (\s e \S) 12
4.5.5. Bordas: word boundary (\b e \B) 13
4.5.6. Grupos de captura e não-captura ("()" e "(?:)") 13
4.5.7. Sucessão (?=) e não-sucessão (?!) 14
5. Quadro-resumo dos principais meta-caracteres RegEx 14
6. Expressões RegEx mais utilizadas 16
W W W . T R E I N A W E B .C O M . B R
INTRODUÇÃO
W W W . T R E I N A W E B .C O M . B R
03
1. Componentes das ENTRADA DE DADOS
expressões regulares teste@teste.com.br
/<meta-caracteres>/[flags]
WWW.TREINAWEB.COM.BR
04
As flags indicam de maneira geral parâmetros pelo menos um match da expressão regular sob a
especiais para a execução da expressão regular entrada.
pela engine. As flags são opcionais, além de que sua
aceitação irá depender da engine que irá executar a Poderíamos representar os matches com o
expressão regular. diagrama apresentado anteriormente:
4. Meta-caracteres
Um match é uma parte do texto que corresponde ao
formato especificado pela expressão regular. Se
pensarmos em uma expressão regular para
validação do formato de um dado de entrada, Os meta-caracteres são caracteres especiais que
poderíamos consider possuem um significado nas expressões regulares.
WWW.TREINAWEB.COM.BR
05
Eles servem para indicar para a engine como ela Veja que não houveram matches dentro da entrada
deve fazer a análise da entrada de dados. Um de dados, pois a expressão regular inserida diz que
conjunto destes meta-caracteres formam uma procuramos uma linha que comece com um
expressão regular, ou RegEx. caractere de 1 a 9.
Entrada: 0,1,2,3,4
4.2. Grupo de caracteres ([ e ])
Saída: 0,1,2,3,4
WWW.TREINAWEB.COM.BR
06
[ (função “Início de grupo”) - Indica o começo de 4.3. Ponto (.)
um grupo de caracteres. Sintaxe: /[<...>]/
. (função “Caractere “coringa”) - Representa
] (função “Fim de grupo”) - Indica o fim de um qualquer outro caractere. Sintaxe: /./
grupo de caracteres. Sintaxe: /[<...>]/
Por exemplo: vamos imaginar que desejamos
Por exemplo: vamos imaginar que desejamos obter recuperar todas as palavras que possuam quatro
todos os matches do nome “João”, independente de letras e que terminem com o sufixo “ato”.
estarem escritos com letra maiúscula ou minúscula e
com til ou sem til. Precisamos então informar a Expressão: /.ato/gm
engine que o primeiro caractere pode ser “j” ou “J”.
Também precisamos dizer à engine que o terceiro Entrada: gato
caractere pode ser “a” ou “ã”. mato
rato
Expressão: /[Jj]o[aã]o/gm martelato
WWW.TREINAWEB.COM.BR
07
.* (função “Operação lógica AND”) - Realiza a Expressão: /^(super|hiper)mercado$/gm
operação lógica AND entre duas expressões.
Sintaxe: /<expressão 1>.*<expressão 2>/ Entrada: Supermercado
Hipermercado
Vamos imaginar que desejamos recuperar todos os Minimercado
nomes em uma lista que comecem e terminem com
vogais. Saída: Supermercado
Hipermercado
Expressão: /^[AEIOU].*[aeiou]$/gm Minimercado
Entrada: Amanda
Eduardo 4.3.4. NOT (^)
Alana
Emanuel ˆ (função “Operação lógica NOT”) - Realiza a
operação lógica NOT em uma expressão. Sintaxe:
Saída: Amanda /[^<expressão>]/
Eduardo
Alana Vamos imaginar que queiramos capturar, a partir de
Emanuel uma lista de nomes, todos os que não sejam
iniciados por vogais.
WWW.TREINAWEB.COM.BR
09
Por exemplo: vamos recuperar todas as palavras Expressão: / ^oi*$/gm
que possuam o radical “cair”. Sendo assim,
devemos capturar palavras como “cai”, “cair”, “caio” Entrada: oi
e “caiu”. Veja que temos opcionalmente o radical oii
“cai” com as terminações “r”, “o” e “u” oiii
oioi
Expressão: / ^cai[r,u,o]?$/gm
Saída: oi
Entrada: cai oii
caiu oiii
caio oioi
cair
caída
4.5. Outros meta-caracteres
Saída: cai
caiu 4.5.1. Hífen (-)
caio
cair - (função “Intervalo”) - Verifica matches que
caída correspondam a um intervalo de caracteres. Sintaxe:
/[<início>-<fim>]/
WWW.TREINAWEB.COM.BR
10
Saída: Gabriela Expressão: /\D/gm
Catarina
Marina Entrada: 123
Natália Teste
Teste_123
WWW.TREINAWEB.COM.BR
11
Saída: Teste \S (função “Não-espaço”) - Captura os caracteres
1234 que não sejam correspondentes a espaços.
Teste_123 Sintaxe: /\S/
Teste$%Teste
$%&*& Por exemplo: se quisermos capturar todos os
espaços em uma entrada.
Também podemos recuperar matches com
caracteres especiais. Expressão: /\s/gm
WWW.TREINAWEB.COM.BR
12
4.5.5. Bordas: word boundary (\b e \B) 4.5.6. Grupos de captura e não-captura ("()" e
"(?:)")
\b (função “Borda inicial”) - Captura as bordas
iniciais das sequências de caracteres (primeiro () (função “Grupo de captura”) - Agrupa uma
caractere). Sintaxe: /\b<caractere>/ sequência de caracteres que deve ser capturada.
São produzidos sub-matches quando este
\B (função “Borda final”) - Captura caracteres que meta-caractere é utilizado. Sintaxe:
não estejam na borda de uma sequência de carac- /(<caracteres do grupo>)<meta-caractere a ser
teres. Sintaxe: /\B<caractere>/ aplicado no grupo>/
Por exemplo: podemos capturar todas as iniciais (?:) (função “Grupo de não-captura”) - Agrupa
com a letra “e” ou “E”. uma sequência de caracteres que não deve ser
capturada. São produzidos sub-matches quando
Expressão: /\b[eE]/gm este meta-caractere é utilizado. Sintaxe:
/(?:<caracteres do grupo>)<meta-caractere a ser
Entrada: Este é o e-book de RegEx do aplicado no grupo>/
TreinaWeb! Eba!
Por exemplo: podemos capturar a sequência “abc”,
Saída: Este é o e-book de RegEx do desde que essa se repita por três vezes.
TreinaWeb! Eba!
Expressão: /(abc){3}/
Também poderíamos capturar todas as finalizações
com os caracteres “e” e “E”. Entrada: abcabcabcabdab
WWW.TREINAWEB.COM.BR
13
Observação: Neste caso, são produzidos dois (?=) (função “Sucessão”) - Agrupa uma sequência
matches: de caracteres que deve ser capturada. São
produzidos sub-matches quando este
- Um correspondente à meta-caractere é utilizado. Sintaxe:
sequência “abcabcabc”, /(<caracteres do grupo>)<meta-caractere a ser
respeitando a quantificação à aplicado no grupo>/
frente do grupo de captura;
(?!) (função “Não-sucessão”) - Agrupa uma
- Outro correspondente ao grupo sequência de caracteres que não deve ser
de captura “abc”. capturada. São produzidos sub-matches quando
este meta-caractere é utilizado. Sintaxe:
Podemos também desejar que o match /(?:<caracteres do grupo>)<meta-caractere a ser
correspondente ao grupo de captura seja aplicado no grupo>/
desprezado com um grupo de não-captura.
Por exemplo: podemos desejar capturar a
Expressão: /(?:abc){3}/ quantidade de litros (que são seguidos por “l”) de
uma lista de unidades de medida.
Entrada: abcabcabcabdab
Expressão: /^\d+(?=\sl)/gm
Saída: abcabcabcabdab
Entrada: 1l
Observação: Neste caso, um único match é 30 m
produzido: o correspondente à 10 l
sequência “abcabcabc”. O 20 kg
match correspondente ao grupo
de captura é desprezado. Saída: 1l
30 m
10 l
4.5.7. Sucessão (?=) e não-sucessão (?!) 20 kg
WWW.TREINAWEB.COM.BR
14
Também podemos capturar as quantidades de todas
as relações que não são expressas em litros:
Expressão: /^\d{2}(?!\sl)/gm
Entrada: 1l
30 m
10 l
20 kg
Saída: 1l
30 m
10 l
20 kg
5. Quadro-resumo dos
principais meta-caracteres RegEx
WWW.TREINAWEB.COM.BR
15
WWW.TREINAWEB.COM.BR
16
6. Expressões RegEx mais
utilizadas
17
Aprenda as principais e mais
atuais tecnologias de
desenvolvimento web, desktop,
mobile e de edição de foto e
vídeo com os cursos mais
completos do Brasil.
CONHEÇA NOSSOS CURSOS
W W W . T R E I N A W E B .C O M . B R
ADO .NET
jetos do BD
Introdução e Pro
Visual Basic
W W W . T R E I N A W E B .C O M . B R