Outros
Escape - \
O caractere de escape serve para que possamos retornar o sentido literal do caractere que vem após ele, em outras palavras, serve para remover a função de caracteres especiais e torna-los caracteres normais. Exemplo:
const regex1 = /./
const regex2 = /\./
const text = 'Um texto qualquer.'
console.log(text.match(regex1)) // ['U']
console.log(text.match(regex2)) // ['.']
No nosso primeiro padrão especificado, passamos apenas o caractere .
, mas como já vimos, o caractere ponto é um caractere especial, e no regex ele significa qualquer coisa, por isso no match com o texto ele vai retornar a letra U
.
Já no nosso segundo padrão, passamos também o ponto, porém com um escape antes, e agora sim, o ponto é tratado como um ponto mesmo.
Ou - |
O caractere ou serve para que possamos passar duas ou mais possibilidades de match, ele é bem parecido com a lista, com a diferença que a lista é apenas para uma letra:
const regexComLista = /[gpr]ato/
const regexComOu = /gato|pato|rato/
Como podemos ver, são bem similares e em questão de semântica, fazem exatamente a mesma coisa, porém, nos casos em que apenas uma letra muda entra as alternativas, a lista é a melhor escolha, caso contrario, utilize o ou.