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

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

92 回使用
/ /
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 グリーディマッチは可能な限り最長の文字列に一致しようとするのに対し、非グリーディ(またはレイジー)マッチは、`*`や`+`のような量指定子の後に`?`を追加することで示され、可能な限り最短の文字列に一致します。これをテストするには、`<.*>` (グリーディ) と `<.*?>` (非グリーディ) のパターンを `<div><span>Hello</span></div>` のようなテキストで入力します。即座にハイライトされる部分と一致する位置がどのように変化するかを観察し、効果的な正規表現デバッグのための明確な動作を実演してください。
Q このツールは、スプレッドシートの乱雑なデータをクリーンアップするために使用できますか?
A もちろんです。このツールは、生のテキストデータをクリーンアップするのに最適です。余分なスペースを削除したり、フォーマットを標準化したり、特定の情報を抽出したりするためのパターンをすばやくテストできます。たとえば、「123-456-7890」や「 (123) 456-7890 」のような電話番号の列がある場合、数字のみをキャプチャする正規表現を作成し、そのパターンを使用してすべてのバリエーションを一貫したフォーマットに置き換えることができます。手動編集に比べて大幅な時間を節約できます。
Q 正規表現パターンを保存して後で使えますか?
A このツールには保存機能がありません。パターンをファイルにコピーするか、URLに正規表現を含めてブックマークしてください。よく使うパターンはテキストファイルにまとめておくと便利です。ツールにはメールや電話番号、URLなど10種類以上のテンプレートが用意されています。
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件ずつ確認するのに便利です。右側の一致リストはテキスト全体のクリック可能なマップとして機能します。大量のログを解析する際は、リストを使って特定の一致に直接ジャンプできます。

使い方

関連ツール