Escolha o alcance da busca
finditer lista ocorrências sem sobreposição, search retorna a primeira e fullmatch exige o texto inteiro. Não há flag g de JavaScript neste modo.
Regex e correspondência de padrões
Digite um padrão e um texto; rode busca, correspondência completa ou substituição com o Python.
Digite ou execute um teste manual.
Padrão e texto ficam neste navegador. Os arquivos Python carregam na primeira execução.
i — Ignorar maiúsculasm — ^ e $ nos limites das linhass — Ponto inclui quebra de linhax — Espaços e comentários no padrãoa — Classes de caracteres ASCIIAmbiente Python: carrega no primeiro teste
Limites: padrão 2000, texto 100000, substituição 10000 unidades UTF-16; 10000 ocorrências, um milhão de saída e quatro milhões de relatório. Para após dois segundos.
Digite ou execute um teste manual.
Uma expressão pode funcionar num teste de JavaScript e falhar no código Python. Este testador de regex Python roda CPython re, então grupos nomeados, flags e referências na substituição seguem o comportamento de verdade.
Ao usar um testador de expressões regulares, compare finditer, search e fullmatch. Os grupos de captura usam posições em pontos de código Unicode; a substituição de regex Python usa \g<name>, e não $1.
O testador de regex Python separa a correspondência inteira dos grupos numerados e nomeados. Um grupo que não participou aparece como null e (-1, -1); capturar uma string vazia continua diferente.
Com \g<sobrenome> e \g<nome>, re.subn reorganiza os campos numa saída à parte. Contagem zero significa substituir todas as ocorrências; o texto original continua intacto.
finditer lista ocorrências sem sobreposição, search retorna a primeira e fullmatch exige o texto inteiro. Não há flag g de JavaScript neste modo.
i, m, s, x e a são flags do Python re. m muda os limites de linha de ^ e $; s permite que o ponto atravesse quebras. O Python carrega na primeira execução manual.
Os intervalos começam em zero, não incluem o fim e contam pontos de código Unicode. Em A😀B, B começa no índice Python 2. Ctrl/Cmd + Enter executa de novo.
O testador de regex Python carrega Pyodide num Worker e informa a versão real do Python. Ele não chama RegExp do JavaScript de Python.
Cada ocorrência guarda grupo zero, números, nomes, valores e intervalos. Índices de código Unicode são convertidos para UTF-16 antes de destacar texto com emoji.
re.subn expande \1 e \g<name>. Um modelo vazio remove ocorrências; $1 continua texto literal. A entrada original não é sobrescrita.
Somente uma execução concluída permite copiar ou baixar JSON com padrão, flags, operação, versão e todas as ocorrências. A saída substituída pode virar TXT.
Confira o motor selecionado no regex101; PCRE2 pode ser o padrão. Aqui roda CPython re, que escreve grupo nomeado como (?P<name>...).
Sim. Escolha Substituir e informe \g<name> ou \1. $1 não vira referência a grupo no Python; o texto original fica intacto.
Sim. As ocorrências são destacadas, com valores e posições dos grupos. Uma ocorrência de largura zero recebe um marcador visível.
A versão não gulosa tenta primeiro um trecho menor; a gulosa tenta um maior. Nenhuma garante execução rápida, então teste casos extremos.
As duas formas agrupam partes do padrão, mas só (...) cria um grupo numerado que pode ser referenciado numa substituição.
Ainda tem dúvidas?
Compare uma entrada que deve corresponder com outra que não deve e confira grupos e versão antes de exportar.