Ir para o conteúdo

Regex escape

Escape caracteres com significado especial em expressões regulares, para que o texto corresponda literalmente.

Entrada
Saída

Regex escape

Uma expressão regular trata caracteres como . * + ? ^ $ { } ( ) | [ ] e \ como instruções, não como texto literal. Cole um nome de ficheiro, um preço, um URL ou qualquer sequência que contenha um destes caracteres, e esta ferramenta faz escape de cada caractere especial com uma barra invertida para que o resultado corresponda exatamente a esse texto — nem mais, nem menos. Mude a direção para unescape e o processo inverte-se: retire as barras invertidas de um padrão para recuperar a sequência original.

A opção dialeto decide quais caracteres precisam realmente de escape. JavaScript e PCRE partilham o mesmo conjunto de metacaracteres, portanto um padrão construído para um comporta-se da mesma forma no outro. POSIX Basic Regular Expressions — o padrão para grep e sed simples — são mais restritas: + ? { } ( ) e | são caracteres literais ordinários ali, não metacaracteres, portanto o escape deles é ignorado em vez de aplicado cegamente. Ative "escape delimitador" quando o padrão for escrito entre barras, como /padrão/, para que uma barra literal / não termine o padrão prematuramente.

Duas opções lidam com entrada com múltiplas linhas. "Cada linha como seu próprio padrão" envolve cada linha com ^ e $, transformando uma lista de sequências exatas em padrões que correspondem a linhas completas — útil para construir listas permitidas ou bloqueadas linha a linha. "Unir linhas em uma alternância" vai mais longe, combinando cada linha num único grupo (?:a|b|c) pronto para inserir diretamente numa expressão regular. Unescape inverte ambas: divide uma alternância de volta em linhas e remove os âncoras.

Tudo corre localmente no seu navegador. O texto e os padrões que cola — incluindo nomes de ficheiros, tokens ou caminhos que prefere não carregar — nunca são enviados para qualquer lugar; o escape ocorre inteiramente no seu dispositivo.

FAQ

Quais caracteres esta ferramenta faz escape?
Os metacaracteres de expressão regular . * + ? ^ $ { } ( ) | [ ] e \. Exatamente quais deles precisam de uma barra invertida depende do dialeto que escolhe — POSIX BRE, por exemplo, trata + ? { } ( ) e | como já literais.
Qual é a diferença entre os dialetos JavaScript, PCRE e POSIX?
JavaScript e PCRE (expressão regular compatível com Perl, usada por muitas linguagens e ferramentas) partilham o mesmo conjunto de metacaracteres para escape. POSIX aqui significa uma Expressão Regular Básica, o padrão para grep e sed simples, onde + ? { } ( ) e | são caracteres ordinários, não metacaracteres — portanto deixam-se sem escape.
O que produz "unir linhas em uma alternância"?
Faz escape de cada linha e combina-as num único grupo como (?:gato|cão|pássaro), pronto a usar como um padrão que corresponde a qualquer uma das linhas. Mudar para unescape divide um padrão nessa forma exata de volta em linhas separadas.
Será que unescape pode alguma vez falhar ou lançar um erro?
Não. Unescape remove apenas uma barra invertida que se encontra diretamente antes de um caractere especial reconhecido; qualquer outra sequência de barra invertida ou um envoltório de alternância mal formado é deixado exatamente como foi digitado em vez de lançar um erro.
O meu texto é carregado em algum lugar?
Não. Escape e unescape correm inteiramente no seu navegador — nada que cola aqui é enviado para um servidor.