nicetool.dev logo

正規表現テスター

ブラウザのJavaScript RegExpエンジンを使用します。サーバーには何も送信されません。

//gi
例
テスト文字列
マッチのハイライト2 件のマッチ
Contact: [email protected], [email protected]
Visit https://nicetool.dev on 2026-09-24 from 192.168.1.10
Colors: #3b82f6 #fff #10b981
マッチの詳細
マッチ 1 · 位置 9
[email protected]
マッチ 2 · 位置 29
[email protected]

チートシート

.
改行以外の任意の1文字
\d
数字 (0-9)
\w
単語文字 (a-z, A-Z, 0-9, _)
\s
空白文字
\b
単語境界
^
文字列・行の先頭
$
文字列・行の末尾
*
0回以上
+
1回以上
?
0回または1回(省略可)
{n,m}
n回以上m回以下
[abc]
a, b, c のいずれか
[^abc]
a, b, c 以外
(...)
キャプチャグループ
(?<name>...)
名前付きキャプチャグループ
a|b
a または b

正規表現とは?

正規表現(regex)は文字列の集合を表すパターンです。メールアドレスなどの入力チェック、テキストの検索・置換、ログからのデータ抽出に使われます。このテスターはあなたのJavaScriptコードと同じエンジンを使うため、結果が完全に一致します。

機能

  • • 入力と同時にすべてのマッチをハイライト
  • • 各マッチのキャプチャグループと名前付きグループを表示
  • • 番号・名前付きグループ参照による置換プレビュー
  • • よく使うパターンとコンパクトなチートシート

プライバシー重視

パターンとテストデータはすべてブラウザ内で処理され、端末のローカルストレージにのみ保存されます。

データはブラウザの外に出ません。

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

  1. 1

    正規表現欄に前後のスラッシュなしでパターンを入力するか、Email、URL、IPv4 などのサンプルから始めます。

  2. 2

    必要なフラグを選びます。g はすべての一致、i は大文字小文字を区別しない、m は ^ と $ を行ごとに、s は . を改行にも一致させ、u は Unicode 用です。

  3. 3

    テスト用のテキストを貼り付けます。一致箇所は入力と同時にハイライトされ、位置と各キャプチャグループが下に一覧表示されます。

  4. 4

    Replace をオンにすると $1、$2 や名前付きグループを使った置換結果をプレビューできます。確認後、パターンを JavaScript や TypeScript などのコードにコピーします。

活用例

フォーム入力の検証

郵便番号、電話番号、ユーザー名のパターンを、正しい例と誤った例の両方で確かめてからフォームのバリデーションに組み込めます。

ログからのデータ抽出

アクセスログに (\d{3}) のようなパターンを使えばすべての HTTP ステータスコードを取り出せ、一致リストでスクリプトが抽出する内容を正確に確認できます。

コードの検索と置換

(\d{4})-(\d{2})-(\d{2}) と置換文字列 $3/$2/$1 で 2026-10-03 を 03/10/2026 に変換し、プロジェクト全体に適用する前に結果を確認できます。

正規表現の学習

チートシートを見ながら1か所ずつ変えると、量指定子、グループ、アンカーが一致結果にどう影響するかがわかります。

よくある質問

どの正規表現エンジンを使っていますか?+

ブラウザの JavaScript RegExp エンジンで、Node.js や TypeScript と同じです。多くの構文は Python、Java、PHP、Go でも動きますが、後読み、名前付きグループ、一部のフラグは異なる場合があります。

最初の一致しか見つからないのはなぜ?+

g(global)フラグがないと、JavaScript の正規表現は最初の一致で止まります。すべて見つけるには g をオンにしてください。

貪欲と非貪欲の違いは?+

.* は貪欲でできるだけ多くの文字を取るため、<.*> は最初の < から最後の > まで一致します。? を付けると非貪欲になり、<.*?> は最初の > で止まります。

正規表現でページが固まることはありますか?+

あります。(a+)+ のような入れ子の量指定子は、長い入力で破滅的なバックトラッキングを起こすことがあります。遅くなったらパターンを単純にするか、繰り返し部分をより具体的にしてください。