正規表現テスター
正規表現を書いてテキストを貼り付ければ、入力に合わせてすべての一致、グループ、置換結果が表示されます。
このデバイス内で封印済み
ブラウザ内で動作します。何もアップロードされません。
封印済み
早見表
トークンを選ぶと正規表現に挿入されます。
- 数字1文字(0–9)
- 英字、数字、アンダースコア1文字
- スペース、タブ、改行
- 改行以外の任意の1文字
- 列挙した文字のいずれか
- 列挙した文字以外の任意の1文字
- テキスト(または行)の先頭
- テキスト(または行)の末尾
- 単語の境界
- 直前の要素の0回以上の繰り返し
- 直前の要素の1回以上の繰り返し
- 直前の要素は省略可能
- 直前の要素の2〜4回の繰り返し
- キャプチャグループ
- 名前付きキャプチャグループ
- 左側または右側のどちらか
- 後ろに…が続く(…自体は含めない)
- ドットそのもの(特殊文字は \ でエスケープ)
テキスト内の一致箇所
正規表現の実行に1秒以上かかったため、停止しました。(a+)+ のように繰り返しが入れ子になったパターンは、テキストによっては指数関数的に時間がかかることがあります。繰り返し部分をより具体的にしてみてください。
一致
- 一致
- 0
- グループ
- 0
一致とそのグループがここに一覧表示されます。
置換
番号付きグループには $1、$2…、名前付きグループには $<name>、一致全体には $& を使います。
使い方
-
正規表現を書く
パターンを入力し、フラグを選びます。構文を覚えていなくても、早見表からよく使うトークンを挿入できます。
-
テキストを貼り付ける
入力に合わせて一致箇所がハイライトされ、それぞれが位置とキャプチャグループとともに一覧表示されます。
-
置換を試す
$1 や $<name> を使った置換文字列を入力すると、検索・置換の結果をプレビューでき、そのままコピーできます。
よくある質問
どの種類の正規表現に対応していますか?
JavaScriptの正規表現を、ブラウザが実行するとおりに使います。名前付きグループ、後読み、\p{L} のようなUnicodeプロパティエスケープにも対応しています。構文の大部分はPython、PHP、Javaと共通ですが、異なる機能もあります。
テキストはどこかに送信されますか?
いいえ。正規表現はブラウザ内の独立したバックグラウンドワーカーで実行されます。パターンもテキストもデバイスの外に出ることはありません。
正規表現が停止されたのはなぜですか?
繰り返しの中に繰り返しがあるパターンなどは、失敗するまでに何十億通りもの組み合わせを試すことがあります。これを「破滅的バックトラック」と呼びます。ページが固まらないよう、1秒を超える実行はすべて停止します。
gフラグで何が変わりますか?
gなしでは最初の一致だけが検索・置換されます。gを付けると、テキスト内のすべての一致が検索・置換されます。
ドット、かっこ、疑問符をそのまま一致させるには?
前にバックスラッシュを付けます。\. はドット、\( はかっこ、\? は疑問符に一致します。角かっこの中では、ほとんどの文字がすでにそのままの意味になります。