メインコンテンツへスキップ

正規表現テスター

正規表現をリアルタイムでテストし、マッチをハイライト。フラグとキャプチャ対応。

/ /
フラグ:
  

パターンと、見つかったすべてのマッチ

1 つの文から 2 つの日付を取り出し、キャプチャグループも並べています。

入力
pattern:  \b(\d{4})-(\d{2})-(\d{2})\b
flags:    g
text:     due 2026-07-27, shipped 2026-08-03
出力
match 1  "2026-07-27"   groups: 2026 | 07 | 27
match 2  "2026-08-03"   groups: 2026 | 08 | 03

g フラグを外すと match 1 だけが返ります。「正規表現が最初の 1 件しか見つけない」という相談は、たいていパターンではなくこれが原因です。

オンライン正規表現テスター

正規表現は強力ですが、間違えやすくデバッグが難しいものです。このregex テスターは書きながら確認できます:パターンとテスト文字列を入力すると、すべてのマッチがリアルタイムでハイライトされ、キャプチャグループが一覧表示されます。試行錯誤を目に見える形に変えます。

使い方

  1. パターン欄に正規表現を入力します(区切りの / は不要)。
  2. 必要なフラグ(g・i・m…)にチェックします。
  3. テスト文字列欄に内容を貼り付けると、マッチがリアルタイムでハイライトされ、下にグループが表示されます。

主な用途

  • メール・電話・URL などの形式パターンを検証。
  • マッチしなさすぎ/しすぎる正規表現をデバッグ。
  • 正規表現の構文を学習・実験。

サンプルで実際に試す。貪欲マッチの取りすぎに注意

正規表現をコードに組み込む前に、ここに実際のサンプルテキストを貼り付けてリアルタイムに試し、思ったとおりにマッチするか確かめておくと、後のデバッグ時間を大きく減らせます。よくある落とし穴をいくつか。境界ケースを必ず試すこと。空文字列、先頭や末尾でのマッチ、特殊文字を含む入力——こうした例外こそがパターンを破綻させがちです。また ドット(.)はデフォルトで改行にマッチしません。複数行を扱うには dotall フラグを立てるか別の書き方が必要です。. * + ? ( ) などは特別な意味を持つので、文字そのものを探すにはバックスラッシュでエスケープします。そして一番はまりやすいのが 貪欲と非貪欲.* はできるだけ右まで飲み込んで取りすぎることが多く、.*? にすると最短の一致で止まります。

件数だけでなくオフセットを見る理由

オフセットがマッチ数を診断に変えるからです。Order 12, item 345, qty 7. に対する \d+3 件マッチ で、内容は #1"12"@6 #2"345"@15 #3"7"@24 —— 3 番目は 24 から始まり、最後の 7 が句点の前で見つかったこと、つまり句点が \d に含まれないことが分かります。貪欲と非貪欲も 1 回の計測で済みます。&lt;b&gt;bold&lt;/b&gt; and &lt;i&gt;it&lt;/i&gt; に対して <.+>1 件マッチ(文字列全体を飲み込む)、<.+?>4 件マッチ:#1"<b>"@0 #2"</b>"@7 #3"<i>"@16 #4"</i>"@21。同じ文字、同じ入力で、違いは疑問符 1 つです。

よくある質問

どの正規表現エンジンですか?

ブラウザの JavaScript RegExp エンジンを使うため、構文は JS と同じです。PCRE や Python などとおおむね互換ですが、一部の高度な機能(後読みの対応など)は多少異なる場合があります。

対応するフラグは?

一般的なフラグに対応:g(グローバル)、i(大小無視)、m(複数行)、s(dotAll)、u(Unicode)、y(sticky)。チェックするだけです。

データは送信されますか?

いいえ。パターンとテスト文字列はブラウザ内で照合され、送信されません。

関連記事

初心者のための正規表現:実用チートシート →

このツールを埋め込む

このツールをあなたのサイトやブログに無料で設置できます。下のコードをコピーして貼り付けるだけです(当サイトへのリンクを含みます)。