最近使用したツールはありません
お気に入りはまだありません

無料オンライン正規表現テスター - Regexチェッカー&デバッガー

383 回使用
/ /
g グローバル
i 大文字小文字無視
m 複数行
s 単一行
上に正規表現パターンを入力してマッチを開始

よく使う正規表現テンプレート

メールアドレス
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
URL
^https?://[\w.-]+(?:/[\w./?%&=-]*)?$
IPv4
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}...
日付 (YYYY-MM-DD)
^\d{4}[-/.](?:0[1-9]|1[0-2])[-/.]...
数字
\d+
英字のみ
[a-zA-Z]+
HTMLタグ
<[^>]+>
強力なパスワード
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)...

正規表現構文リファレンス

記号説明例
.任意の1文字(改行を除く)a.c → abc, adc
*0回以上の繰り返しab* → a, ab, abb
+1回以上の繰り返しab+ → ab, abb
?0回または1回ab? → a, ab
{n}ちょうどn回a{3} → aaa
^文字列の先頭^Hello
$文字列の末尾World$
[abc]文字セット(いずれか1文字)[aeiou]
\d数字 (0-9)\d{4}
\w単語文字 (a-z, A-Z, 0-9, _)\w+
\s空白文字(スペース、タブ、改行)\s+
|選択(OR)cat|dog
()キャプチャグループ(\d{4})-(\d{2})

Regexのヒント

リアルタイムマッチ
入力と同時にマッチが黄色でハイライト表示されます。ボタンをクリックする必要はありません。
Regexフラグ
gはグローバル(全マッチ)、iは大文字小文字無視、mは複数行、sはdotAllモードです。
クイックテンプレート
テンプレートをクリックして、メール、URL、日付などの一般的なパターンを読み込めます。
特殊文字のエスケープ
. * + ? などの特殊文字をリテラルとしてマッチさせるにはバックスラッシュでエスケープしてください。

よくある質問

Q このツールは先読みと後読みアサーションをサポートしていますか?
A はい、先読みと後読みの両方を完全にサポートしています。肯定先読みには(?=...)、肯定後読みには(?<=...)を使用できます。否定形は(?!...)と(?<!...)です。これらのアサーションは、特定のパターンの前後にあるテキストだけをマッチさせ、条件自体は結果に含めない場合に重要です。たとえば(?<=@)[a-z]+でメールのユーザー名だけを@記号なしで抽出できます。主要なRegexエンジンすべてで動作します。
Q 特殊文字の問題にはエスケープを増やせば解決しますか?
A 逆効果です。過剰なエスケープは不足より多くの問題を起こします。このテスターでエスケープが必要なのは . * + ? ^ $ { } ( ) | [ ] だけです。\s のように文字の前にバックスラッシュを入れると、特殊トークンになりリテラルの s にはなりません。\d\.\d と入力して 5.7 をマッチさせてみてください。57 はヒットしません。迷ったら構文リファレンスパネルをチェックしてください。
Q 他のツールからコピーした正規表現がなぜマッチしないのですか?
A 正規表現エンジンによって対応する構文が微妙に異なります。このツールはJavaScriptエンジンを使用しており、\Kや再帰的なパターンなどのPCRE機能には対応していません。また、パターン内にエスケープされていないスラッシュが含まれていると、何もマッチしません。具体的には、/\d+/ はデリミタなしの \d+ として入力する必要があります。PythonやPHPで動いていたパターンは、まずフラグや修飾子を取り除いてからお試しください。構文リファレンスパネルで、このエンジンが受け付けるトークンを確認できます。
Q Twitterの投稿や論文提出のような文字数制限のある文字列に対して、正規表現をテストするには?
A 入力フィールドにテキストを貼り付け、量指定子を使って制限を強制するパターンを書きましょう。たとえば^.{1,280}$は、文字列全体が1〜280文字であることを確認します。Twitterの文字数制限そのものです。マッチカウンターが即座に緑色で合格、赤色で不合格を示します。論文提出フォームの本番投入前に検証するのに重宝しています。
Q この正規表現テスターは複数行マッチングに対応していますか?
A フラグを適切に設定すれば両方使えます。複数行のテキストを入力フィールドに貼り、マルチラインモードにするには 'm' フラグを追加してください。フラグなしでは ^ と $ は文字列の先頭と末尾にマッチします。'm' を付けると各行の先頭と末尾にマッチします。4行目と12行目にエラーがある詩やログファイルをテストしてみてください — マッチカウンターが各行のヒットを個別に表示します。私はサーバーログ解析で毎日使っています。
Q 大きなファイルで正規表現をテストできますか、それとも小さな貼り付けテキストだけですか?
A 入力フィールドには約500KB、およそ10万文字まで貼り付けられます。CSV全体やそれなりの規模のログファイルなら十分収まります。それ以上はファイルを分割するか、まずサンプルでテストしてください。ハイライト表示は巨大な入力で顕著に遅くなります。私は代表的な行を50〜100行選んでテストし、パターンが固まったらスクリプトで全体を処理するようにしています。
Q 一致箇所は一度に全部ハイライトされますか?それとも1件だけですか?
A すべての一致箇所が即座にハイライトされます。ただし、位置に応じて微妙に色が変わります。下部のカウンターに総数と各一致の文字オフセットが表示されます。一致箇所をクリックするとその場所にロックされ、位置情報がリアルタイムで更新されます。1件ずつ確認するのに便利です。右側の一致リストはテキスト全体のクリック可能なマップとして機能します。大量のログを解析する際は、リストを使って特定の一致に直接ジャンプできます。
Q 他のツールでは動いた正規表現が、同じパターンでここでは失敗するのはなぜ?
A 正規表現エンジンは微妙に異なります。このツールはJavaScriptエンジンを使うため、PCREの\Kや再帰パターン、原子グループは非対応です。PHP由来の/\d+/のようなデリミタ付きを貼ると、静かに失敗します。右側の構文リファレンスに全対応トークンが載っているので、照合してみてください。まず^$だけでテストすれば、エンジン起因か自分の式起因か切り分けられます。デリミタとフラグを外してから貼るのが基本です。
Q メルマガ配信用にHTMLの特殊文字を事前に変換できますか?
A メールマーケターは正規表現を使ってコード内の未 エスケープ文字を修正します。入力欄にHTMLを貼り付け、例えば `&(?![a-zA-Z0-9#]+;) `で孤立したアンパサンドを検索してください。ツールが瞬時に該当箇所をハイライトします。配信前に `&amp;` に置換してレイアウト崩れを防げます。
Q JSONペイロードから値を抽出する
A APIのレスポンスをそのまま入力欄に貼り付け、キーと値を瞬時に抽出します。`"id":\s*"([^"]+)"` と書けば、スクリプトを書かずにユーザーIDを取得できます。サイドパネルにはキャプチャされたグループが一覧表示されます。Postmanの読み込みが遅いときのデバッグによく使います。次は `"status":\s*true` などを試してください。

使い方

関連ツール