使い方
- スラッシュの間にパターンを入力するか、「よく使うパターン」から選んで始めます。
- フラグ(g、i、m、s、u、y)を切り替えて、マッチの方法を変更します。
- テスト文字列を貼り付けます。一致箇所が強調表示され、位置とグループとともに一覧表示されます。
- $1 や $<name> などの置換後の文字列を入力すると、検索・置換の結果をプレビューできます。
オプションの説明
- g(global)
- 最初の一致で止まらず、すべての一致を探します。一致の一覧には常にすべての一致が表示され、g は置換結果に影響します。
- i(ignore case)
- 大文字と小文字を区別せずにマッチします。
- m(multiline)
- ^ と $ がテキスト全体ではなく、各行の先頭と末尾にマッチします。
- s(dotAll)
- 「.」が改行にもマッチします。
- u(unicode)
- パターンを Unicode コードポイントとして扱います。\p{…} のプロパティエスケープが使えるようになり、絵文字も正しく処理されます。
- y(sticky)
- 直前の一致が終わった位置でのみマッチします。
クイックリファレンス
| 構文 | マッチする対象 |
|---|---|
\d \w \s |
数字、単語構成文字、空白文字 |
[abc] [^abc] [a-z] |
いずれか 1 文字、いずれでもない 1 文字、範囲 |
* + ? {2,5} |
0 回以上、1 回以上、0 回か 1 回、2〜5 回 |
*? +? |
最短一致(できるだけ少なく) |
^ $ \b |
先頭、末尾、単語境界 |
(…) (?:…) (?<name>…) |
キャプチャ、非キャプチャ、名前付きグループ |
(?=…) (?!…) (?<=…) (?<!…) |
先読み、否定先読み、後読み、否定後読み |
\p{L} \p{Script=Han} |
すべての文字(Letter)、漢字(u フラグが必要) |
使用例
パターン (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+) を ada@example.com に適用すると、user = ada、domain = example.com になります。置換後の文字列 $<domain>/$<user> からは example.com/ada が得られます。
よくある質問
どの種類の正規表現を使っていますか?
ブラウザに実装されている JavaScript(ECMAScript 2024)の正規表現です。構文の大部分は PCRE、Python、Java と共通ですが、後読み、名前付きグループ、Unicode エスケープはエンジンによって少しずつ異なるため、実際に使う言語でもテストしてください。
「停止しました」と表示されたのはなぜですか?
a が長く続く文字列に対する (a+)+$ のように、エンジンが指数関数的な数の組み合わせを試すことになるパターンがあります。これは壊滅的なバックトラッキングと呼ばれます。このツールはバックグラウンドのスレッドで実行し、1.5 秒で停止します。入れ子の量指定子を書き直すか、より具体的な文字クラスを使ってください。
置換でキャプチャグループを使うには?
番号付きグループには $1、$2…、名前付きグループには $<name>、一致全体には $&、ドル記号そのものには $$ を使います。
テキストはどこかに送信されますか?
いいえ。マッチングはブラウザ内の Web Worker で実行されるため、テストに使うログやデータはお使いの端末から出ません。
プライバシー
このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。