Testador de regex
Teste expressões regulares JavaScript em qualquer string e veja correspondências destacadas em tempo real. Grupos, flags e posições aparecem na lista abaixo.
Usa o RegExp nativo do navegador, então o que você testa aqui é exatamente o que o seu JavaScript vai rodar.
Destacado
Correspondências
Match list with capture groups will appear here.
Sabor JavaScript
Este testador usa o RegExp nativo do navegador. Suporta a sintaxe de regex ECMAScript, que não é a mesma que PCRE (PHP, Perl) ou re do Python. Algumas construções de outros motores não estão disponíveis ou se comportam de forma diferente:
- No possessive quantifiers (
a*+,a++). - No atomic groups
(?>...). - No conditional patterns
(?(1)yes|no). - Lookbehind
(?<=...)is supported in modern browsers but can fail in older engines. - Named groups use
(?<name>...)(not(?P<name>...)like Python).
Referência de flags
g— return all matches, not just the first.i— case-insensitive match.m—^and$match at line breaks, not only string edges.s— dot.also matches newlines.u— full Unicode mode;\p{...}property escapes enabled.y— sticky: match must start exactly atlastIndex.
Exemplos
Alguns padrões que você pode colar no campo acima para ver funcionando:
\d{4}-\d{2}-\d{2} # ISO-like dates
[\w.+-]+@[\w-]+\.[\w.-]+ # rough email
^https?:\/\/\S+ # URL at line start (needs m flag)
(?<year>\d{4})-(?<mo>\d{2}) # named groupsPerguntas frequentes
Por que meu padrão que funciona em PHP/Python falha aqui?
Este testador roda seu padrão pelo RegExp do navegador, que é ECMAScript flavor. Recursos exclusivos do PCRE (quantificadores possessivos, grupos atômicos, padrões condicionais) não são suportados. Reescreva o padrão em forma compatível com ECMAScript.
Meu padrão travou a página por um momento. Por quê?
O motor de regex do JavaScript é single-threaded e pode ficar lento com padrões com catastrophic backtracking (por exemplo quantificadores aninhados como (a+)+$). A ferramenta limita a lista de matches a 1000 para reduzir o dano, mas o match em si roda na página.
Como faço match em várias linhas?
Use a flag s se quiser que . também combine com quebras de linha, e a flag m se quiser que ^/$ se ancorem em cada linha.
Meu padrão e texto de teste são enviados para algum lugar?
Não. A regex roda inteiramente no seu navegador. Nada é enviado.