正規表現テスター:リアルタイムマッチング

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 フラグで各行を整形できます。

正規表現テスターの使い方

  1. 外側のスラッシュを付けずに、パターン欄へ正規表現を入力または貼り付けます。
  2. 必要なフラグを選びます。グローバルは既定でオンです。
  3. 検索するサンプル文字列をテスト文字列欄へ貼り付けます。
  4. テストをクリックして実行し、マッチ表、グループ、ハイライトを確認します。
  5. 期待どおりになるまでパターンを調整して再テストします。

正規表現テスター FAQ

どの正規表現方言を使いますか?
ブラウザーのネイティブ JavaScript(ECMAScript)エンジンを使います。JavaScript では同じ動作になりますが、Python、PCRE、Java では調整が必要な場合があります。
パターンをスラッシュで囲む必要はありますか?
いいえ。new RegExp() に渡すパターン本体だけを入力してください。フラグはチェックボックスで選びます。
なぜ最初の出現箇所だけですか?
g(グローバル)フラグを外している可能性があります。g を選んで再実行するとすべての箇所が表示されます。
キャプチャグループとは何ですか?
パターン内の括弧が作るグループで、マッチした部分を保存します。結果表のグループ列で確認できます。
文字列はサーバーへ送信されますか?
いいえ。コンパイルも検索もブラウザー内で行われます。ページを閉じると内容は破棄されます。
なぜ構文エラーになりますか?
括弧の閉じ忘れ、前に対象のない量指定子、Unicode フラグで無効なエスケープなどが原因です。