Informar só o padrão
Use (?<=a)b sem barras delimitadoras. Um exemplo mostra antes quais campos serão sobrescritos; depois é possível desfazer uma vez.
- Um padrão vazio só roda após comando explícito.
Regex e correspondência de padrões
Escolha um motor implementado, digite o padrão e o texto e rode o teste local.
Digite só o corpo do padrão, sem barras /. RE2 usa Unicode internamente.
Digite ou execute um teste manual.
Padrão e texto são processados em um Worker local do navegador, sem envio ao servidor.
Digite ou execute um teste manual.
Somente PCRE2 e RE2 rodam aqui. Outras linhas são referências.
| Destino | Execução | Lookbehind | Referência reversa | Limite |
|---|---|---|---|---|
| PCRE2 | Executa | Sim | Sim | PCRE2 WASM; API PHP à parte. |
| RE2 | Executa | Não | Não | RE2 WASM; não é Go nem Rust. |
| PHP / PCRE2 | Só núcleo PCRE2 | Sim | Sim | PHP preg_* acrescenta delimitadores e retornos. |
| Java | Só referência | Sim | Sim | Java não é executado aqui. |
| Go | Só referência | Não | Não | Go regexp é outra implementação. |
| Rust | Só referência | Não | Não | Rust regex é outra implementação. |
| .NET | Só referência | Sim | Sim | .NET não é executado aqui. |
Ao levar um padrão do PHP para um filtro em Go, um destaque positivo no JavaScript não comprova o destino. Comparar motores de regex mantém o texto e mostra a compilação real.
Um testador de regex baseado em JavaScript não confirma uma regex PCRE nem uma regex Go RE2. A expressão regular Java pode parecer semelhante, mas exige sua própria biblioteca.
O mesmo exemplo revela quando um motor aceita e outro rejeita.
Comparar motores de regex aqui significa executar PCRE2 ou RE2, não trocar o nome do JavaScript. Lookbehind funciona no PCRE2 e falha no RE2.
Ao mudar padrão, texto, motor ou opção, copiar e baixar ficam bloqueados até uma nova execução.
Use (?<=a)b sem barras delimitadoras. Um exemplo mostra antes quais campos serão sobrescritos; depois é possível desfazer uma vez.
PCRE2 vem selecionado; RE2 tem implementação WASM própria. i e m começam desligadas.
Índices começam em zero, contam unidades UTF-16 e excluem o fim. A lista cresce de 50 em 50 e o JSON inclui todo o resultado válido.
PCRE2 aceita lookbehind e referência reversa; RE2 rejeita ambos sem calcular um resultado substituto em JS.
Cada ocorrência mostra grupos numerados e nomeados. Índices por ponto de código do RE2 são convertidos para UTF-16 após emoji.
O Worker pode ser interrompido após dois segundos. Tamanho, número de ocorrências e relatório também têm limites.
Comparar motores de regex seleciona PCRE2 no início. PHP utiliza PCRE2, mas sua API preg_* inclui regras que esta página não reproduz.
JavaScript pode aceitar lookbehind ou referência reversa que RE2 rejeita. Para Go, confirme no pacote regexp.
Não. RE2 apresenta erro de compilação e o resultado não é trocado pelo motor JavaScript.
Não necessariamente. Classes Unicode, flags e capturas variam; rode o padrão na biblioteca de destino.
Padrão e texto ficam em um Worker local. Só PCRE2 e RE2 são executados; Java e .NET são referências.
Ainda tem dúvidas?
Carregue um exemplo de diferença e teste o mesmo texto no PCRE2 e no RE2.
Padrão e texto permanecem no navegador, sem envio automático.