正規表現テスター:リアルタイムマッチング
JavaScript 正規表現をテストし、各マッチの位置とキャプチャグループをすぐに確認できます。
パターンとフラグを選び、テスト文字列を貼り付けてテストをクリックします。すべてブラウザー内の JavaScript 正規表現エンジンで実行され、何もアップロードされません。
正規表現テスター:リアルタイムマッチング
JavaScript 正規表現をテストし、各マッチの位置とキャプチャグループをすぐに確認できます。
クイックリファレンス:よく使う正規表現トークン
JavaScript 正規表現で頻繁に使うトークンのチートシートです。
| トークン | 意味 |
|---|---|
| . | 改行以外の任意の1文字(s フラグ設定時を除く) |
| \d / \D | 数字 0–9 / 数字以外 |
| \w / \W | 単語文字(英字、数字、アンダースコア)/ 単語文字以外 |
| \s / \S | 空白文字 / 空白以外の文字 |
| ^ / $ | 文字列の先頭 / 末尾(m フラグ時は各行の先頭と末尾) |
| \b | 単語境界—単語文字と非単語文字の間 |
| * + ? | 直前の項目が0回以上 / 1回以上 / 0回または1回 |
| {n} {n,} {n,m} | ちょうど n 回 / 少なくとも n 回 / n〜m 回の繰り返し |
| [abc] [^abc] | 集合内の任意の文字 / 集合外の任意の文字 |
| (x) | キャプチャグループ—マッチした文字列を保存し、グループ列に表示 |
| (?:x) | 非キャプチャグループ—パターンをまとめるがマッチを保存しない |
| a|b | 選択—a または b にマッチ |
| (?=x) (?!x) | 先読み:次の文字列が x にマッチ(またはマッチしない)ことを確認するが消費しない |
正規表現テスターについて
正規表現は強力なテキスト処理ツールですが、微妙な間違いも起こりやすいものです。このテスターでは、パターン、フラグ、サンプル文字列を入力して、マッチ数、位置、キャプチャ内容、ハイライトをすぐに確認できます。
ブラウザー内蔵のエンジンを使うため、JavaScript、TypeScript、Node.js の本番コードと同じ動作を確認できます。正規表現の方言は言語によって異なり、PCRE や Python 用のパターンをそのまま使えるとは限りません。
よく使う5つのフラグを利用できます。グローバルはすべての出現箇所を検索し、大文字小文字無視、複数行、dotAll、Unicode はそれぞれ対応する検索動作を変更します。
コンパイルエラーもエンジンのメッセージで表示されるため、未閉じのグループや不正な量指定子を特定できます。ゼロ幅マッチも安全に処理します。
処理はすべてローカルで行われ、パターンやテスト文字列はサーバーへ送信されません。ログや設定ファイルなどの確認、フォーム検証、値の抽出、エディターの置換パターン作成、正規表現の学習に便利です。
正規表現テスターの例
よくあるパターンと、通常の文字列で見つかる内容です。
| パターン | マッチするもの | メモ |
|---|---|---|
| [\w.+-]+@[\w-]+\.[\w.]+ | ana@example.com のようなメールアドレス | 抽出向けの実用的なパターンです。実際のアドレス検証にはこれ以上の処理が必要です。 |
| \bcat\b | 単独の cat(concatenate にはマッチしない) | 単語境界で部分一致を防ぎます。i フラグで Cat と CAT も対象になります。 |
| (\w+)-(\w+) | user-name のようなハイフン区切りの組み合わせ | 2つのキャプチャグループがグループ列に表示され、置換テンプレートに使えます。 |
| ^\s+|\s+$ | 文字列の先頭と末尾の空白 | g と m フラグで各行を整形できます。 |
正規表現テスターの使い方
- 外側のスラッシュを付けずに、パターン欄へ正規表現を入力または貼り付けます。
- 必要なフラグを選びます。グローバルは既定でオンです。
- 検索するサンプル文字列をテスト文字列欄へ貼り付けます。
- テストをクリックして実行し、マッチ表、グループ、ハイライトを確認します。
- 期待どおりになるまでパターンを調整して再テストします。
正規表現テスター FAQ
どの正規表現方言を使いますか?
ブラウザーのネイティブ JavaScript(ECMAScript)エンジンを使います。JavaScript では同じ動作になりますが、Python、PCRE、Java では調整が必要な場合があります。
パターンをスラッシュで囲む必要はありますか?
いいえ。new RegExp() に渡すパターン本体だけを入力してください。フラグはチェックボックスで選びます。
なぜ最初の出現箇所だけですか?
g(グローバル)フラグを外している可能性があります。g を選んで再実行するとすべての箇所が表示されます。
キャプチャグループとは何ですか?
パターン内の括弧が作るグループで、マッチした部分を保存します。結果表のグループ列で確認できます。
文字列はサーバーへ送信されますか?
いいえ。コンパイルも検索もブラウザー内で行われます。ページを閉じると内容は破棄されます。
なぜ構文エラーになりますか?
括弧の閉じ忘れ、前に対象のない量指定子、Unicode フラグで無効なエスケープなどが原因です。