正規表現テスター

正規表現をオンラインでテストできます。マッチ箇所をリアルタイムでハイライトし、キャプチャグループや置換結果も表示します。JavaScriptの正規表現エンジンを使用しています。

正規表現
マッチ結果

正規表現をテストする方法

  1. スラッシュの間にパターンを入力します。スラッシュは自分で付けないでください。
  2. g(すべてのマッチを検索)やi(大文字と小文字を区別しない)などのフラグを選びます。
  3. 検索対象のテキストを貼り付けます。入力に合わせてマッチ箇所がハイライトされ、表には各マッチの位置とキャプチャグループが一覧表示されます。
  4. 必要に応じて置換文字列を入力すると、検索と置換の結果をプレビューできます。

このテスターはブラウザのJavaScript正規表現エンジンを使うので、結果はJavaScriptやTypeScriptでString.match、matchAll、replaceを使ったときとまったく同じになります。Python、PHP、Java、C#でも構文の大部分は共通ですが、後読み、名前付きグループ、Unicodeクラスは少し異なる場合があります。

正規表現チートシート

.改行以外の任意の1文字
\d \w \s数字、単語構成文字(英字、数字、_)、空白文字
\D \W \S数字以外、単語構成文字以外、空白文字以外
[abc] [^abc] [a-z]a、b、cのいずれか · a、b、c以外 · 範囲指定
* + ?0回以上 · 1回以上 · 0回または1回
{3} {2,5}ちょうど3回 · 2〜5回
^ $ \b先頭 · 末尾 · 単語の境界
(…) (?:…) (?<name>…)キャプチャグループ · 非キャプチャグループ · 名前付きグループ
a|baまたはb
(?=…) (?!…)後ろに続く(先読み) · 後ろに続かない(否定先読み)
\p{L}あらゆる言語の任意の文字(uフラグが必要)

よくある質問

パターンによってページが固まるのはなぜですか?

(a+)+$のように繰り返しが入れ子になったパターンは、特定の入力に対して非常に長い時間がかかることがあります(「破滅的なバックトラッキング」)。これを避けるには、繰り返すグループをより具体的にしてください。