正規表現説明者とは何ですか?
正規表現の説明は、正規表現を取り、それを平易な英語に翻訳します。一度に 1 つの構成要素です。 ^(?<user>[a-z0-9._%+-]+)@... のような密な線で目を細める代わりに ラベル付きの内訳を取得します。この部分はアンカーです。これは名前付きキャプチャ グループです。この文字クラスは「小文字、数字、ドット、またはハイフン」を意味し、この量指定子は「1 回以上」を意味します。 シンボルの壁をチェックリストに変えて、読むことができます。
正規表現は、デザインがコンパクトであるため、強力ですが、レビューするのは困難です。 同じパターンは多くの方法で記述できます。また、1 つの迷子のバックスラッシュまたは貪欲な量指定子で意味が完全に変わります。 なじみのない正規表現を読む - コード レビュー、古い構成ファイル、またはスタック オーバーフローの回答 - 通常、エンジンを精神的にシミュレートすることを意味します。 このツールは、そのシミュレーションを実行し、結果を、入れ子になったグループやルックアラウンドなど、パターンの構造を反映した、順序付けられたインデントされたリストとして表示します。
コードが使用するのと同じ JavaScript 正規表現エンジンですべてがクライアント側で実行されるため、ここに表示されるフラグの動作と有効性は生産量と一致します。 パターンはアップロードされず、何もログに記録されず、ページが読み込まれると、ツールはオフラインで動作します。 理解しようとしている正規表現がプライベート コードベースから取得されているか、機密データ形式に一致する場合は重要です。
説明は、データが適切なパターンであるかどうかではなく、パターンが何を意味するかを説明します。それを確認するには、正規表現テスターで実際の入力に対して実行します。 ブラウザー独自のエンジンでコンパイルされるため、PCRE には存在するが ECMAScript には存在しない構成は、2 つの異なる方法で動作します。 A++、原子グループ (?>...)、再帰 (?R) などの所有量指定子は、エンジン自身のメッセージで完全に拒否されます。 より微妙なケースは \a と \z です。u フラグを指定しないと、JavaScript はそれらを ID エスケープとして扱います。したがって、PHP または Python からコピーされたパターンは、文字列境界ではなく、リテラル A または Z に一致するものとして説明されます。 (A+)+ のようなネストされた量指定子も通常は記述されます。破滅的なバックトラックは、構造内で目に見えるものではなく、入力のランタイム プロパティです。
正規表現説明者の使い方
正規表現を貼り付けます
周囲のスラッシュなしでパターンを入力してください - 式自体だけです。 [サンプルをロード] をクリックして、メールと一致する作業例から始めます。
フラグを設定する
パターンが使用するフラグ (G、I、M、S、U、Y、D) を切り替えます。 説明者は、各フラグが何をするかを報告し、そのフラグの組み合わせに対するパターンを検証します。
内訳を読む
各トークンは、平易な英語の説明とともに順番にリストされています。 ネストされたグループはインデントされているため、パターンの構造が一目でわかります。
説明をコピーする
完全なプレーンテキスト内訳をコピーして、コード コメント、プル リクエスト ノート、またはドキュメントに貼り付けて、次のリーダーがデコードする必要がないようにします。
主な機能
トークンごとの内訳
アンカー、文字クラス、量指定子、グループ、およびエスケープは、エンジンがそれらを読み取る順序で、説明付きの独自の行を取得します。
グループとルックアラウンド アウェア
キャプチャ、非キャプチャ、名前付きグループ、および 4 つのルックアラウンド タイプすべてがラベル付けされ、インデントされているため、ネストされた構造は簡単に追跡できます。
フラグの説明
G、I、M、S、U、Y、D の各フラグは、コンテキスト内でそれぞれ説明されているため、それらがどのように一致するかを理解するだけでなく、構文だけでなく、どのように一致するかを理解します。
本当のエンジン検証
パターンはブラウザー ネイティブの正規表現エンジンで検証されるため、それを使用する前に、正確なエラーで無効な式がキャッチされます。
Frequently Asked Questions
Related Tools
Email Extractor
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Regex Replace
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Regex Tester
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Regex Builder
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
Comments
0 comments
No comments yet. Be the first to share your thoughts!