正規表現テスター
JavaScriptの正規表現を任意の入力に対してテストします。一致箇所、グループ、置換結果をリアルタイムで確認できます。
このツールの使い方
- 1
Type your regular expression into the pattern field (no slashes — enter the bare pattern).
- 2
Set the flags in the small field beside it, such as g, i, m, or a combination like gi.
- 3
Paste or type the text you want to search into the large input box below.
- 4
Read the match count and each matched substring with its character index in the results panel; an invalid pattern shows the engine's error message instead.
正規表現とは何か、そしてどう読めばよいか?
正規表現(regex)は、テキスト内のパターンを検索するための小さなドメイン固有言語です。現代のあらゆるプログラミング言語には正規表現エンジンが備わっています。このツールはJavaScriptのネイティブなRegExpを使用しており、ECMAScript 2018以降の仕様に従い、後読みアサーション、名前付きキャプチャグループ、Unicodeプロパティのエスケープ、dotAllフラグといった最新の機能に対応しています。基本的な構成要素は次のとおりです。リテラル文字はそれ自身に一致します(正規表現「gato」は単語gatoに一致します)。文字クラスは集合のいずれかに一致します(「[a-z]」は小文字に一致します)。量指定子は繰り返しを制御します(*は0回以上、+は1回以上、?は0回か1回、{3,5}は3〜5回)。アンカーは位置に一致します(^は文字列の先頭、$は末尾、\bは単語境界)。グループは部分一致をキャプチャします((gato|perro)はいずれかに一致し、どちらだったかをキャプチャします)。選択(オルタネーション)は選択肢を提供します。正規表現は、構造化されているが文法的ではないテキスト(ログ、メール、電話番号、単純なHTML属性)の解析に威力を発揮しますが、本質的に再帰的な構造(完全なHTML、入れ子になったJSON)には対応できません。そうした場合はパーサーを使ってください。このテスターでは、パターンを即座のフィードバックを得ながら反復改善できます。正規表現を変更すると、キーを打つたびに一致箇所が再計算されます。
よくある活用例
サーバーに送信する前に、ユーザー入力の形式(メールアドレス、電話番号、郵便番号)を検証する。
ログファイルから構造化データ(タイムスタンプ、IP、ステータスコード、リクエストパス)を抽出する。
エディタの正規表現検索を使って、数百のファイルにまたがる検索置換を行う。
Nginx、Apacheの.htaccess、VercelのリライトのためにURLリライトルールを書く。
本格的なパーサーでは大げさな、単純なCSVのような形式を解析する。
HTMLの<input pattern="...">属性のためのフォーム検証パターンを作る。
よくある質問
どのフラグに対応していますか?▼
複数行にまたがって一致させるにはどうすればよいですか?▼
貪欲な量指定子と怠惰な量指定子の違いは何ですか?▼
正規表現を使うべきでないのはどんなときですか?▼
名前付きキャプチャグループとは何ですか?▼
なぜ私の正規表現は特定の入力で遅くなるのですか?▼
これはサーバー側の正規表現エンジンの動作と一致しますか?▼
関連ツール
JWTデコーダー
JSON Web Token(JWT)を瞬時にデコードします。お使いのブラウザ内で実行されるため、トークンがデバイスの外に出ることはなく、本番環境のシークレットでも安全に利用できます。
JSONフォーマッター&バリデーター
JSONをオンラインで整形、検証、minify(圧縮)します。すべてお使いのブラウザ内で動作するため、データがデバイスから外に出ることはありません。
XMLフォーマッター
XMLドキュメントを整形して読みやすくします。SOAP、サイトマップ、RSSフィード、設定ファイルに役立ちます。
Base64エンコーダー&デコーダー
文字列をBase64にエンコードしたり、Base64をテキストにデコードしたりします。あなたのプライバシーを尊重し、すべてブラウザ内で実行されます。
URLエンコーダー&デコーダー
テキストをURLセーフなエンコード(パーセントエンコーディング)に変換したり、その逆を行ったりします。クエリ文字列、リダイレクト、OAuthフローに役立ちます。
HTMLエンティティエンコーダー&デコーダー
特殊文字をHTMLエンティティ(&、<など)に変換したり、その逆を行ったりします。テキストを安全にHTMLへ埋め込むのに役立ちます。