Suporte - RegEx

Se você não é programador saiba que RegEx é uma abreviação de expressões regulares que são expressões que são utilizadas por mecanismo de busca ou entrada de caracteres e que muitas vezes formatam a entrada de acordo com o que desejamos que o usuário digite no campo.

Se você é programador sabe que RegEx é um assunto que, por ser complexo, é facil de ser esquecido.

RegEx-Resumo


1-Definições-Caractere

São as letras de a a z, de A a Z e de 0 a 9 e sublinhado (underscore)

2-Definições-Caracteres especiais ou de controle

Estes caracteres tem um significado especial já que não são exibidos, mas controlam a impressão de documentos, espaçamento, posição. É o caso da tabulação, CRLF etc. Veja item 6.

3-Definições-Simbolos ou caracteres de pontuação

Não são caracteres (item 1) nem caracteres de controle ou especiais (item 2).
Por exemplo: [-!"#$%&'()*+,./:;<=>?@[\\\]_`{|}~] são símbolos, não caracteres.

4-Definições-String

Uma cadeia de caracteres qualquer, pode ter todos os tipos acima citados.

5-Delimitadores

Quando as letras estão dentro destes ‘delimitadores’ elas são interpretadas diferentemente comparando com se estivessem sem estes ‘delimitadores’.
São eles:

delimitador Significado
[ ] lista de caracteres
^ início da string
$ fim do string
. um caractere qualquer (ponto)
- sequência contínua de caracteres

6-Caracteres especiais ou de controle

São caracteres que por natureza tem um significado especial por sua utilização:

Caractere Significado Dec Hex
\a bell – alarm chr 7 07
\b backspace chr 8 08
\t tabulação chr 9 09
\n new line chr 10 0A
\v vertical tab chr 11 0B
\f form feed chr 12 0C
\r Carriage Return chr 13 0D
\e escape chr 27 1B
\c Control Ex: \cA= control + A

7-Pesquisas

Nota : Os testes foram feitos com JavaScript e dependendo do engine onde o RegEx foi implmentado pode exitir alguma diferença comportamental.

7.1-Pesquisas - Busca por letras

Se achar uma letra que atenda o critério ele retorna true.
Podemos ter uma letra apenas ou coloca-las dentro de [] para dizer que devem ser analisadas como letras e não como strings.

Pesquisa RegEx
Todas as letras minúsculas: [a-z]
Todas as letras maiúsculas: [A-Z]
Todas as letras: [A-Za-z]
Que não seja letra: [^A-Za-z]
Pode ser qualquer caractere a.e (. = qualquer caractere)
Caractere especial \t (t=tabulação)

7.2-Pesquisas - Busca por números

Pesquisa RegEx
Que contenha um número qualquer [0-9]
Que NÃO contenham números [^0-9]
Um dígito decimal qualquer \d
Que não seja um dígito decimal \D
Um dígito numérico entre 0 e 2 [012]\d
Cinco dígitos numéricos \d{5}

7.3-Pesquisas - Busca por caractere(s)

Pesquisa RegEx
um caractere qualquer (Veja item 1.1) \w
nenhum caractere (Símbolos-Veja item 1.3) \W

7.4-Pesquisas - Busca por separação ou divisão de palavras

Pesquisa RegEx
busca por um espaço \s
que não seja um espaço /S

7.5-Pesquisas - Busca por uma cadeia de caracteres

Pesquisa RegEx
Que contenham a palavra/string jose (*1)

*1 – Não precisa estar espaçado nem nada mais .. pode estar grudado e/ou no meio de outras palavras.

7.6-Pesquisas - Busca em posições específicas do string -busca por âncoras

Pesquisa RegEx
no começo do string ou da linha - começa com a letra a ^a
no fim do string ou da linha - termina com a letra a a$

8-Padrões mais utilizados:

Pesquisa RegEx
Alfanumérico [A-Za-z0-9]
Alfabético [A-Za-z]
Dígito Numérico [0-9]
dia do Mês [0-3]\d\/
Mês [01]\d\/
Ano [12][0129]\d{2}
Data /[0-3]\d\/[01]\d\/[12][0129]\d{2}/g
CEP \d{5}-\d{3} (*1)
Horário (00:00 a 23:59) [012]\d:[0-5]\d
Placa de automóvel Brasil [A-Z]{3}-\d{4}

*1-Cuidado : A expressão \d{5} testa se tem 5 dígitos numéricos mas não se tem 6 ou mais.
Portanto não é garantia que o número digitado tenha 5 posições apenas mas com certeza tem 5 dígitos numéricos na sequencia no texto fornecido.