Representantes
Ponto - .
O meta caractere ponto .
é utilizado para representar qualquer coisa, qualquer caractere, exceto quebra de linha (porém esse comportamento pode ser alterado com a flag s
).
const regex = /./
const regex2 = /./g
const text = 'Texto a'
console.log(text.match(regex)) // ['T']
console.log(text.match(regex2)) // ['T', 'e', 'x', 't', 'o', ' ', 'a']
Na primeira regex, o nosso padrão especificado era o .
, então na hora do match, ele apenas buscou pelo primeiro caractere que encontra-se.
Já no segundo exemplo, o padrão é o mesmo, porém com o adicional da flag g
, agora a procura sera por qualquer caractere que não seja a quebra de linha.
Listas - [...]
Ao contrário do ponto, as listas [...]
servem para especificar quais caracteres queremos permitir em um match.
const regex = /n[aã]o/;
const text = 'não';
const text2 = 'nao';
const text3 = 'nAo';
console.log(regex.test(text)); // true
console.log(regex.test(text2)); // true
console.log(regex.test(text3)); // false
O nosso padrão especificado é a letra n
, que pode ser seguido tanto pelo a
ou ã
e depois seguido pelo o
. Nesse caso, a nossa regex só dará match com nao
ou não
.
Um outro exemplo da utilização da lista pode ser observado no primeiro exemplo prático apresentado na introdução.
Lista negada - [^...]
A lista negada, como o nome já sugere, ela ira negar os caracteres que estiverem nela, e para negar uma lista, basta adicionar o ^
no inicio dela.
const regex = /n[^aã]o/;
const text = 'não';
const text2 = 'nao';
const text3 = 'nAo';
console.log(regex.test(text)); // false
console.log(regex.test(text2)); // false
console.log(regex.test(text3)); // true
Intervalos nas listas
Os intervalos nas listas servem para nos facilitar a especificações de um grupo de caracteres. Os intervalos são baseados na tabela unicode.
Para criar um intervalo, basta adicionar o caractere inicial, um traço -
e depois o caractere final.
Exemplo
Baseado na tableta unicode:
[a-z]
- Vai selecionar os todos os caracteres que estiverem entrea
ez
;[1-9]
- Aqui vai selecionar os todos os caracteres que estiverem entre1
e9
;[á-í]
- E aqui vai selecionar os todos os caracteres que estiverem entreá
eí
Um exemplo da utilização da lista com intervalos pode ser observado no primeiro exemplo prático apresentado na introdução.