Expressoes_Regulares
730 palavras
3 páginas
IntroduçãoDefinições
• Basicamente, podemos dizer algo abrangente de forma específica. Definindo um padrão de busca, temos uma lista de possibilidades.
• “Como o brinquedo LEGO, várias pecinhas diferentes, cada uma com sua característica, que juntas compõem estruturas completas e podem ser arranjadas com infinitas combinações diferentes.”
•Expressões Regulares são metacaracteres que casam um padrão. É uma maneira de procurar um texto especificando padrões.
• Padrões para validar data, horário, número IP, e-mail, RG, CPF, telefones... Exemplo:
ER para números de telefones => ([0-9]{2})? [0-9]{4}-[0-9]{4}. Casa qualquer uma das strings: “83 3224-1063”, “83 3254-3421”, “82 2343-1212”...
História
• O termo deriva do que se chamou de álbegra de conjuntos regulares (“regular sets”), do matemático Stephen Cole Kleene.
• 1968, Ken Thompson implementava no qed um comando de contexto que aceitava expressões regulares. Sua sintaxe? g/RE/p (Global Regular Expression Print)... Mais tarde deu origem ao famoso grep nos sistemas Unix.
• 1986, criado um pacote pioneiro em C, chamado regex e de graça! Daí a norma IEEE
POSIX 1003.2 (POSIX.2) padroniza expressões regulares.
Os Metacaracteres
Sopa de letrinhas
Metacaractere Nome
Metacaractere Nome
.
Ponto
^
Circunflexo
[]
Lista
$
Cifrão
[^]
Lista negada
\b
Borda
?
Opcional
\
Escape
*
Asterisco
|
Ou (pipe)
+
Mais
()
Grupo
{}
Chaves
\1
Retrovisor
Sopa de letrinhas – exemplos
Miller, Miler, Müler, Müller, Mueler, Mueller:
M(ü|i|ue)ll?er
Siglas de 4 letras, começando com UF:
UF[A-Z]{2}
Tags HTML , , , , , :
Títulos (primeira linha não pontuada):
^[A-Za-z0-9 ]+$
Palavras:
\b[A-Za-z]+\b
Padrões POSIX
Classe POSIX
Similar
Significa
[:upper:]
[A-Z]
Letras maiúsculas
[:lower:]
[a-z]
Letras minúsculas
[:alpha:]
[A-Za-z]
Maiúsculas/Minúsculas
[:alnum:]
[A-Za-z0-9]