正規表現をテストする方法
- スラッシュの間にパターンを入力します。スラッシュは自分で付けないでください。
- g(すべてのマッチを検索)やi(大文字と小文字を区別しない)などのフラグを選びます。
- 検索対象のテキストを貼り付けます。入力に合わせてマッチ箇所がハイライトされ、表には各マッチの位置とキャプチャグループが一覧表示されます。
- 必要に応じて置換文字列を入力すると、検索と置換の結果をプレビューできます。
このテスターはブラウザの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|b | aまたはb |
(?=…) (?!…) | 後ろに続く(先読み) · 後ろに続かない(否定先読み) |
\p{L} | あらゆる言語の任意の文字(uフラグが必要) |
よくある質問
パターンによってページが固まるのはなぜですか?
(a+)+$のように繰り返しが入れ子になったパターンは、特定の入力に対して非常に長い時間がかかることがあります(「破滅的なバックトラッキング」)。これを避けるには、繰り返すグループをより具体的にしてください。