正規表現テスター
パターンを書いてテキストを貼り付けると、入力するたびにすべてのマッチとグループがハイライトされます。
置換結果
| # | マッチ | 位置 | グループ |
|---|
チートシート
| 構文 | 意味 |
|---|---|
. | 改行以外の任意の 1 文字 |
\d \w \s | 数字、単語構成文字、空白 |
\D \W \S | それら以外 |
[abc] [^abc] | a、b、c のいずれか/それら以外 |
[a-z] | 範囲内の 1 文字 |
^ $ | 入力の先頭と末尾(m では行頭と行末) |
\b | 単語境界 |
* + ? | 0 回以上、1 回以上、0 回か 1 回 |
{3} {2,5} | ちょうど 3 回/2〜5 回 |
*? +? | できるだけ少なく(最短一致) |
(abc) | グループをキャプチャ |
(?<name>abc) | 名前付きグループをキャプチャ |
(?:abc) | キャプチャしないグループ |
a|b | a または b |
(?=abc) (?!abc) | 後ろに続く/続かない |
(?<=abc) (?<!abc) | 前にある/ない |
\1 \k<name> | グループがマッチした内容を繰り返す |
よくある質問
どの正規表現エンジンですか?
JavaScript(ECMAScript)で、ブラウザが実行するのとまったく同じです。構文の大半は Python、Java、PCRE と共通ですが、後読みや名前付きグループなどの細部は異なる場合があります。
パターンがタイムアウトするのはなぜ?
(a+)+$ のようなパターンは、ほぼマッチする入力で指数的な時間がかかることがあります。このテスターはバックグラウンドで実行し、1 秒で停止します。
置換でグループを使うには?
番号付きグループは $1、$2、名前付きグループは $<name>、マッチ全体は $& です。