正規表現テスター|リアルタイム
正規表現をリアルタイムでテスト。マッチ箇所をハイライト表示・グループ抽出・フラグ切り替え対応。
正規表現テスター|リアルタイムとは
正規表現テスターは、正規表現(regex)をリアルタイムでテストできる無料オンラインツールです。マッチ箇所をハイライト表示し、グループ抽出・インデックス・フラグ(g/i/m/s)切り替えに対応。登録・インストール不要。
使い方
- 1上部の入力欄に正規表現パターンを入力してください。
- 2フラグ(g: 全体マッチ / i: 大文字小文字無視 / m: 複数行 / s: . が改行にマッチ)を切り替えてください。
- 3テスト文字列エリアにテストしたい文字列を入力すると、右側にマッチ箇所がハイライト表示されます。
- 4下部のマッチ結果リストでインデックス・グループを確認できます。
メリット・特徴
- リアルタイムマッチ確認。入力と同時にマッチ箇所をハイライト
- g / i / m / s フラグをワンクリックで切り替え
- キャプチャグループの値とインデックスを一覧表示
- エラーハンドリング付き。不正なパターンをリアルタイム検知
- 登録・インストール不要。ブラウザで即利用できる完全無料ツール
正規表現の基本構文一覧
正規表現(Regular Expression / regex)はテキストのパターンマッチングに使われる強力な記法です。JavaScriptをはじめ、Python・PHP・Ruby・Go・Rustなど主要なプログラミング言語すべてで利用できます。以下に頻繁に使われる基本構文をカテゴリ別にまとめます。
文字クラスとメタ文字
正規表現の基本となる文字クラスとメタ文字の一覧です。「.」は改行を除く任意の1文字にマッチ(sフラグで改行にも対応)。「\d」は数字(0-9)、「\D」は非数字。「\w」は英数字とアンダースコア([a-zA-Z0-9_])、「\W」はその否定。「\s」は空白文字(スペース・タブ・改行等)、「\S」は非空白。「[abc]」はa・b・cのいずれか1文字、「[^abc]」はa・b・c以外の1文字。「[a-z]」はa〜zの範囲の1文字。「\u3042」のようなUnicodeエスケープで特定文字を指定できます。
量指定子(繰り返し)
量指定子は直前のパターンの繰り返し回数を指定します。「*」は0回以上(greedy)、「+」は1回以上、「?」は0または1回。「{n}」はちょうどn回、「{n,}」はn回以上、「{n,m}」はn〜m回。デフォルトは最長マッチ(greedy)です。量指定子の後に「?」を付けると最短マッチ(lazy)になります。例:「.*?」は改行を除く任意文字の最短マッチ。
アンカーとグループ
アンカーはマッチ位置を指定します。「^」は行頭(mフラグで各行の頭)、「$」は行末(mフラグで各行の末尾)、「\b」は単語境界、「\B」は非単語境界。グループは「(...)」で作成し、「|」でOR条件。「(?:...)」はキャプチャなしグループ(非キャプチャグループ)。「(?<name>...)」は名前付きキャプチャグループ(JS ES2018以降)。先読み「(?=...)」・後読み「(?<=...)」・否定先読み「(?!...)」・否定後読み「(?<!...)」も利用可能です。
実践的な正規表現パターン集
実際の開発・テキスト処理でよく使われる正規表現パターンを用途別にまとめました。本ツールのパターン入力欄にそのままコピーしてテストできます。
バリデーション用パターン
メールアドレスの基本チェック: /^[^\s@]+@[^\s@]+\.[^\s@]+$/。日本の電話番号(ハイフンあり): /^0\d{1,4}-\d{1,4}-\d{4}$/。郵便番号(〒なし): /^\d{3}-?\d{4}$/。URLの基本チェック: /^https?:\/\/[\w\-.]+(\/[\w\-./?%&=#]*)?$/。日付(YYYY-MM-DD): /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/。クレジットカード番号(16桁スペース/ハイフン区切り): /^[\d\s\-]{13,19}$/。IPアドレス(IPv4): /^(\d{1,3}\.){3}\d{1,3}$/。
テキスト抽出・変換用パターン
HTMLタグの除去: /<[^>]*>/g。URLの抽出: /https?:\/\/\S+/g。ハッシュタグ(SNS)の抽出: /#[\w\u3041-\u9fa5]+/gu。日本語文字の抽出(漢字・ひらがな・カタカナ): /[\u3041-\u9fa5\u4e00-\u9fff]+/gu。連続する空白行の削除: /\n{3,}/g(\n\n\nに置換)。先頭・末尾の空白除去(各行): /^[ \t]+|[ \t]+$/gm。キャメルケースをスネークケースに変換: /([A-Z])/g(_$1 に置換してlowerCaseに)。全角数字を半角に変換: /[0-9]/g(String.fromCharCodeを使用)。
日本語テキスト処理に特有のパターン
日本語の正規表現ではUnicodeプロパティエスケープが便利です(Unicodeフラグ u が必要)。漢字のみ: /\p{Script=Han}/gu。ひらがなのみ: /[\u3041-\u3096]/gu。カタカナのみ: /[\u30a1-\u30fa\u30fc]/gu。全角英数字: /[A-Za-z0-9]/gu。句点・読点: /[。、]/g。日本語文の文末(句点・!?): /[。!?]/g。文の分割に: /(?<=[。!?])\s*/gu(後読みでsplitする際に便利)。
よくある質問(FAQ)
- JavaScriptの正規表現に対応していますか?
- はい、本ツールはJavaScriptのRegExpエンジンを使用しているため、JS互換の正規表現をそのまま使えます。
- gフラグなしの場合、最初のマッチのみ表示されますか?
- gフラグがオフの場合、最初のマッチのみを検索します。全マッチを確認するにはgフラグをオンにしてください。
- 名前付きキャプチャグループ(?<name>)は使えますか?
- はい、JS標準の正規表現仕様をそのまま使用しているため、名前付きキャプチャグループを含む現代的な構文が使えます。
- 日本語(Unicode)のマッチはできますか?
- はい、日本語を含むUnicode文字列のマッチに対応しています。
- 正規表現の書き方がわかりません。
- MDN Web Docsの「正規表現」ガイドが網羅的でわかりやすくおすすめです。
不具合や動作がおかしい点を見つけたら教えてください。
不具合報告はこちら →