正規表現フレーバーコンバーター (PCRE / JS / Python / Go)
ガイド
正規表現フレーバーコンバーター
プログラミング言語のフレーバー間で正規表現を変換します: PCRE (PHP)、JavaScript、Python、Go、Java、Ruby。名前付きグループ、フラグ、後方参照、その他の構文の違いを自動的に変換します。互換性のない機能を明確な警告とともにハイライトします。変換された正規表現をサンプル文字列に対して検証するためのテストパネルが含まれています。
使用方法
正規表現パターンを入力し、ソースフレーバー(記述された言語)とターゲットフレーバー(変換したい言語)を選択します。変換された正規表現は、フラグが翻訳された状態で即座に表示されます。変換ノートで、行われた変更とサポートされていない機能に関する警告を確認してください。サンプルテキストに対して変換されたパターンを検証するためにテストパネルを使用してください。
機能
- 6 つの正規表現フレーバー — PCRE (PHP)、JavaScript (ES2018+)、Python (re モジュール)、Go (regexp)、Java (java.util.regex)、Ruby。任意のペア間で変換できます。
- 名前付きグループの変換 — (?P…) (PCRE/Python/Go) と (?…) (JS/Java/Ruby) の構文間で自動的に変換します。
- フラグの変換 — フレーバー間でフラグを変換します: /gi (JS) ↔ re.IGNORECASE (Python) ↔ (?i) インライン (PCRE/Go) ↔ Pattern.CASE_INSENSITIVE (Java)。
- 後方参照の変換 — 名前付き後方参照が変換されます: (?P=name) ↔ k フレーバー間で。
- 互換性のない機能に関する警告 — 色分けされたアラート: 正常な変換は緑、構文の変更は黄色、サポートされていない機能は赤(例: Go はルックビハインドをサポートしない、JS はアトミックグループをサポートしない)。
- テストパネル — 変換された正規表現をサンプル文字列に対してテストします。JavaScript の RegExp エンジンを使用して、一致、グループ、一致数を示します。
- 構文リファレンス — すべてのフレーバー間の主な違いを示す、折りたたみ可能な参照テーブル: 名前付きグループ、ルックアヘッド/ルックビハインド、フラグ、文字クラス、アトミックグループ、Unicode サポート。
- 自動変換 — 入力中またはフレーバーを変更すると、結果が即座に更新されます。
変換されるもの
名前付きグループ: (?P) ↔ (?) の構文の違い。
名前付き後方参照: (?P=name) ↔
k ↔
}{
g{name}。
フラグ: インライン (?imsx)、サフィックス /gi、および言語固有の定数。
ルックビハインドアサーション: PCRE/JS/Java でサポート、Python/Ruby で限定的、Go でサポートされていません。
アトミックグループ: (?>…) — PCRE/Java/Ruby のみ。JS/Python/Go では警告が表示されます。
所有権のある量指定子: a++ — PCRE/Java/Ruby のみ。
文字クラス: \R、\h、\v (PCRE 固有) は他のフレーバーではフラグが付けられます。
コメント: (?#…) 構文 — PCRE/Python のみ。
条件: (?(cond)yes|no) — PCRE のみ。
なぜ正規表現のフレーバーは言語間で異なるのですか?
変換できない正規表現の機能は何ですか?
テストパネルはすべてのフレーバーで正確ですか?
PCRE と JavaScript の正規表現の違いは何ですか?
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
