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 entreaez;[1-9]- Aqui vai selecionar os todos os caracteres que estiverem entre1e9;[á-í]- 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.