正規表現テストツール

正規表現パターンを入力すると、テスト対象テキストのマッチ部分をハイライト表示し、キャプチャグループ・名前付きグループ・置換結果をその場で確認できます。処理はすべてブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。

g(グローバル)フラグはテスト対象のマッチ一覧には常に適用されます(全マッチを表示するため)。置換では、 g を外すと最初の1件だけ、付けると全件が置換されます。

マッチ結果(3

会議は 2026-09-062026-10-01 の予定です。締切は 2026-08-20 でした。
#マッチ文字列位置キャプチャグループ
12026-09-064(1)2026 (2)09 (3)06
22026-10-0117(1)2026 (2)10 (3)01
32026-08-2038(1)2026 (2)08 (3)20
この結果を共有

置換

会議は 06/09/2026 と 01/10/2026 の予定です。締切は 20/08/2026 でした。
このツールを共有

正規表現テストの使い方

  1. 正規表現パターンを入力する

    パターン欄に正規表現を入力します。キャプチャグループ「(...)」や名前付きグループ「(?<name>...)」も使えます。初期状態ではサンプルの日付パターンが入っています。

  2. テスト対象テキストを貼り付ける

    確認したい文章を貼り付けます。入力と同時にマッチした部分がハイライト表示され、下の一覧にキャプチャグループの値が並びます。

  3. 必要なら置換も試す

    「置換」欄に置換後の文字列を入力すると、$1・$2 のようなキャプチャ参照を使った置換結果をその場で確認できます。

仕組みと考え方

本ツールはブラウザ標準の RegExp と String.prototype.matchAll() / replace() をそのまま使っています。パターンや対象テキストは端末内でのみ処理され、当サイトのサーバーへは送信されません。

マッチ一覧の表示は、g(グローバル)フラグの有無に関わらず常にテキスト全体を対象にしています。matchAll() は空文字にマッチするパターン(例: /a*/)でも走査位置を自動的に進めるため、手動でループを書く場合に起こりがちな無限ループが発生しません。巨大な入力や広くマッチしすぎるパターンでブラウザが固まらないよう、マッチ件数には上限(既定1000件)を設けています。

一方、置換(replace)は JavaScript 標準の挙動をそのまま反映します。g フラグを外すと最初の1件だけが置換され、付けると全件が置換されます。この差は正規表現エンジンの一般的な仕様であり、意図せず1件しか置換されない場合は g フラグの有無をまず確認してください。

使いどころ・注意点

  • i(大文字小文字を無視)・m(複数行)・s(. が改行にもマッチ)・u(Unicode単位で解釈)は、パターンの意味を変える組み合わせなので、期待通りにマッチしないときはまずここを見直す。
  • 名前付きグループ (?<year>\d{4}) を使うと、置換や後続処理で番号ではなく名前で参照でき、パターンが複雑になっても読みやすくなる。
  • 貪欲マッチ(.*)は行き過ぎてマッチする原因になりやすい。範囲を絞りたい場合は .*? のような非貪欲(lazy)修飾子や、具体的な文字クラスを使う。
  • 巨大なテキストや複雑なパターンでは、ブラウザの処理に時間がかかることがある。まず短い抜粋で正規表現の形を固めてから全文に適用すると安全。

よくある質問

入力したテキストやパターンはサーバーに送信されますか?

いいえ。マッチ判定・置換ともにブラウザ内の JavaScript だけで行い、当サイトのサーバーへは送信していません。

gフラグのチェックを外すとマッチ一覧が1件になりますか?

なりません。マッチ一覧・ハイライト表示は常にテキスト全体を対象にします。gフラグが実際に影響するのは下の「置換」結果だけです。

同じ文字列に何度もマッチしてしまい件数が多すぎます。

空文字にマッチできるパターン(例: a*)は、マッチしない位置でも空文字マッチとして数えられるため件数が増えます。+ を使うなど、1文字以上を必須にするパターンへ調整してください。

PCRE(PHPなど)やPythonの正規表現と結果が違います。

本ツールはJavaScriptの正規表現エンジンを使用しています。後読み・先読みの一部記法や、名前付きグループの扱いなど、言語ごとに細部の仕様が異なるため、他言語向けの正規表現はそのまま同じ結果にならないことがあります。

マッチ件数が1000件で止まります。

巨大な入力でブラウザが固まるのを防ぐため、マッチ一覧の表示は既定で1000件までに制限しています。全件を確認したい場合はテキストを分割して個別に実行してください。

ほかの無料ツールも見る

文字数カウント

文字数(空白含む/除く)・バイト数・行数・単語数・原稿用紙の枚数・段落数・文の数・読了時間・文字種別の内訳を入力と同時に集計します。

文字列変換

大文字↔小文字、全角↔半角、ひらがな↔カタカナ、HTMLエスケープ、改行コード変換をまとめて行います。

テキスト差分(diff)

2つの文章を並べて比較し、追加・削除された行と文字を色分けして表示します。

重複削除・並べ替え

行単位の重複行の削除、五十音・英数字順の並べ替え、空行削除、行番号の付与を行います。

Markdownプレビュー

Markdown記法をその場でプレビューし、見出し・表・コードブロックの見え方を確認できます。

くじ引き・抽選

名前や景品を1行に1件ずつ貼り付けるだけで、暗号学的に安全な乱数で当選者を重複なく選びます。

JSON整形・検証

JSONの整形(インデント付与)・圧縮・構文エラー箇所の特定を行います。値が変わる箇所も警告します。

CSV⇔JSON変換

CSV・TSVをJSON配列へ、JSON配列をCSVへ相互変換します。引用符や改行を含むセルにも対応します。

Base64エンコード・デコード

日本語を含むテキストのBase64変換と復元を行います。URLセーフ形式やデータURIにも対応します。

URLエンコード・デコード

URLのパーセントエンコードと復元を行い、クエリパラメータを一覧で分解して確認できます。

ダミーデータ生成

氏名・住所・メールアドレス・電話番号などの架空のテストデータをCSV/JSONで一括生成します。

パスワード生成

文字種・文字数を指定して、暗号学的に安全な乱数で強力なパスワードを生成します。

ハッシュ生成

テキストやファイルからSHA-256・SHA-512・SHA-1・MD5のハッシュ値(チェックサム)を計算します。

JWTデコード

JWT(JSON Web Token)のヘッダー・ペイロードを復号して表示し、有効期限の切れを判定します。

セキュリティヘッダー簡易チェック

公開WebサイトのURLを指定し、代表的なセキュリティヘッダーの設定有無を確認します。

QRコード生成

URL・Wi-Fi・連絡先・メール・SMSのQRコードをその場で作成し、PNG/SVGでダウンロードできます。誤り訂正レベルと配色も選べます。

画像リサイズ・圧縮

画像の縦横サイズ変更・圧縮・形式変換(JPEG/PNG/WebP)をブラウザ内だけで行います。

カラーコード変換

HEX・RGB・HSLを相互変換し、背景色と文字色のコントラスト比(WCAG判定)も確認できます。

Unix時間変換

Unixタイムスタンプと日時を相互変換します。秒・ミリ秒、日本時間・UTCの両方に対応します。

UUID生成

UUID v4(完全ランダム)とUUID v7(時刻順)を、暗号学的に安全な乱数でまとめて生成します。