← Recursos RESOURCE
Mesmo uma mesma expressão regular tem pequenas diferenças de sintaxe e de suporte de uma linguagem para outra.

Os conceitos centrais das expressões regulares são comuns, mas a sintaxe detalhada (o flavor) varia de uma linguagem para outra. Como esta ferramenta usa o motor JavaScript (ECMAScript) do navegador, ao levar um padrão para outro ambiente é preciso conhecer as diferenças.

Os grupos nomeados são suportados tanto em JavaScript quanto em Python e PCRE, mas com sintaxes diferentes. JavaScript e PCRE usam (?<name>...), enquanto o Python usa (?P<name>...), e a forma de referência também difere em cada um. O lookbehind é suportado nas versões modernas de JavaScript, Python e PCRE, mas não existe em alguns ambientes antigos.

A notação das flags também é diferente. Em JavaScript, elas vêm depois da barra, como em /pattern/gi; em Python, passa-se uma constante como re.IGNORECASE como argumento. As flags s (dotAll) e u (unicode) do JavaScript podem ser o comportamento padrão em outras linguagens ou ter outro nome.

As propriedades Unicode \p{...} só funcionam em JavaScript com a flag u, e o PCRE e o Python (módulo regex) as tratam de forma um pouco diferente. Ao levar um padrão para outra linguagem, verifique primeiro esses itens na documentação de expressões regulares dessa linguagem.