Aunque sea la misma expresión regular, la sintaxis y el soporte varían un poco según el lenguaje.
Los conceptos clave de las expresiones regulares son comunes, pero la sintaxis concreta (el sabor) difiere según el lenguaje. Como esta herramienta usa el motor de JavaScript (ECMAScript) del navegador, al llevar un patrón a otro entorno conviene conocer las diferencias.
Los grupos con nombre están admitidos tanto en JavaScript como en Python y PCRE, pero con sintaxis diferente. JavaScript y PCRE usan (?<name>...), Python usa (?P<name>...), y también se referencian de forma distinta. La búsqueda retrospectiva está admitida en JavaScript, Python y PCRE modernos, pero no existe en algunos entornos antiguos.
La forma de indicar los flags también difiere. JavaScript los añade tras las barras, como en /pattern/gi, y Python pasa como argumento constantes como re.IGNORECASE. Los flags s (dotAll) y u (unicode) de JavaScript pueden ser el comportamiento por defecto en otros lenguajes o tener otro nombre.
Las propiedades Unicode \p{...} necesitan el flag u para funcionar en JavaScript, mientras que PCRE y Python (con el módulo regex) las tratan de forma un poco distinta. Al llevar un patrón a otro lenguaje, revisa primero estos puntos en la documentación de expresiones regulares de ese lenguaje.