URLPatternテスターとは
URLPatternは、名前付きグループ、ワイルドカード、正規表現制約を使用した宣言型URLマッチングを提供する標準ブラウザAPIです。URLルーティングのためにエラーが発生しやすい正規表現パターンや手動のパス解析を書く代わりに、開発者はnew URLPattern('/books/:id')を使用してURLにマッチし、読み取り可能で保守可能な方法でパラメータを抽出できます。このAPIは、プロトコル、ホスト名、ポート、パス名、検索、ハッシュのすべてのURLコンポーネントをサポートし、URLエンコーディングを自動的に処理します。
クイックアンサー
URLPatternは、名前付きグループ、ワイルドカード、正規表現制約を使用した宣言型URLマッチングを提供します。正規表現や手動のパス解析は不要です。/books/:id構文を使用してURLにマッチし、パラメータを抽出します。Chrome 95+、Edge 95+、Safari 15.4+、Firefox 115+でネイティブ利用可能。Deno、Cloudflare Workers、Node.js 21+でもサポートされています。
Last updated: 2026-05-31
制限事項
- URLPatternのブラウザサポートはChromiumとSafari(15.4+)では強力ですが、Firefoxのサポートはバージョン115でのみ到着し、一部のサーバーサイドランタイムではAPIはまだ実験的です。古いブラウザやレガシーNode.jsバージョンをターゲットにする本番アプリには、urlpattern-polyfill npmパッケージを含めてください。
- URLPatternのマッチングは単純な文字列操作よりも低速です。1秒間に数千のURLを処理するタイトなループでの高頻度URLマッチングには、コンパイル済み正規表現またはトライベースのルーターの方がパフォーマンスが優れています。URLPatternは生のスループットよりも可読性を優先します。
- URLPatternはリバースマッチングをサポートしていません。パターンとパラメータからURLを生成することはできません。URLがマッチするかどうかのテストと名前付きグループ値の抽出のみを行います。双方向のURL処理には、path-to-regexpのようなライブラリがマッチングとURL生成の両方を提供します。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- 名前付きグループには:param(例:/blog/:slug)、ワイルドカードマッチには*(例:/api/*)、オプションセグメントには/:param?を使用してURLPatternパターン文字列を入力します。また、/users/:id(\d+)のように正規表現制約を追加することもできます。
- パターンと照合する1つ以上のテストURLを追加します。各テストURLは独立して評価されるため、1つのセッションで複数のパス、クエリ文字列、エッジケースを確認できます。
- ライブマッチ結果を確認します。各テストURLについて、マッチしたかどうか、抽出された名前付きグループ値、マッチしなかったオプショングループでnullまたはundefinedを返したグループが表示されます。
- URLPattern APIを使用した生成済みJavaScriptコードをコピーします。特定のパターンとテストURLが含まれており、マッチチェックとパラメータ抽出ロジックがプロジェクトにそのまま使える状態で含まれています。
主な用途
- シングルページアプリケーションで、脆弱な正規表現解析の代わりにURLPatternを使用してクライアントサイドルーティングを実装します。名前付きグループによりルートパラメータが自己文書化され、自動的にURLデコードされます。
- サービスワーカーのfetchハンドラで着信URL構造を検証します。既知のルートパターンに対してリクエストURLをマッチングし、選択的なキャッシュとレスポンスロジックのためのパラメータを抽出します。
- サイト移行中にURL再構築をテストします。古いURLパターンが期待されるパラメータにマッチし、新しいリダイレクトルールが本番環境にデプロイする前に正しいパスセグメントをキャプチャすることを確認します。