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.
São as letras de a a z, de A a Z e de 0 a 9 e sublinhado (underscore)
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.
Não são caracteres (item 1) nem caracteres de controle ou especiais (item 2).
Por exemplo: [-!"#$%&'()*+,./:;<=>?@[\\\]_`{|}~] são símbolos, não caracteres.
Uma cadeia de caracteres qualquer, pode ter todos os tipos acima citados.
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 |
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 |
Nota : Os testes foram feitos com JavaScript e dependendo do engine onde o RegEx foi implmentado pode exitir alguma diferença comportamental.
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) |
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} |
Pesquisa | RegEx |
---|---|
um caractere qualquer (Veja item 1.1) | \w |
nenhum caractere (Símbolos-Veja item 1.3) | \W |
Pesquisa | RegEx |
---|---|
busca por um espaço | \s |
que não seja um espaço | /S |
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.
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$ |
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.