正規表現はエンジンの実装によって書き方や挙動が微妙に異なります。特にPHPとJavaScriptを行き来する開発者向けに、代表的な違いをまとめました。
JavaScript・PHP(PCRE)は (?<name>...)、Pythonは (?P<name>...) 形式のみです。PHPは両方に対応していますが、JS用に書いたパターンをそのままPythonに持っていくとエラーになります。
\K(ここまでのマッチ内容を結果から除外)、(?>...)(アトミックグループ)、*+ ++ ?+(所有格量指定子)など、JavaScriptやPythonの標準reモジュールには存在しない構文があります。
JavaScriptは u フラグを付けないと \p{Hiragana} 等が使えません。PHPは u 修飾子でマルチバイト文字を正しく扱えます。Python3では re.UNICODE 相当の挙動がデフォルトで有効です。
テスター画面のサイドパネルにある「言語比較」タブでは、入力したパターンをPHP(PCRE)側に実際に送信し、JavaScriptとの挙動差をその場で確認できます。