URL正規表現テスター
検証済みのURL用正規表現(http/https、ドメイン、IP、localhost)を取得し、URLを1行ずつ検査、テキストからリンクを抽出して、JS・Python・PHP・Javaのコードをコピー。
各行はテストの前に前後の空白を取り除きます。スキームは小文字である必要があり、ポートは1〜5桁の数字かどうかだけを確認します。
テストはJavaScriptの正規表現で実行します。コード例は、パターンをJavaScript向けに書き換えたものです。
| 行 | 入力 | 結果 | 失敗した理由 |
|---|---|---|---|
| 1 | https://example.com | 有効 | |
| 2 | https://www.example.co.uk/path?q=1#top | 有効 | |
| 3 | http://localhost:3000/api | 有効 | |
| 4 | http://192.168.0.1:8080 | 有効 | |
| 5 | example.com/page | 無効 | http://またはhttps://で始めてください |
| 6 | ftp://files.example.com | 無効 | ftp://はこのパターンでは使えません |
| 7 | https://exa mple.com | 無効 | スペースが含まれています。%20にエンコードしてください |
このツールは、複数のURL形式のパターンを用意し、入力したURLのうちどれを受け付けるかを正確に示し、コードとして書き出します。ドメイン形式のホスト、localhost、IPv4アドレスに、任意のポートとパスを付けられるhttpまたはhttpsの限定的なWebアドレスのパターン、スキームを省略できる版、ftpも許可する短くて寛容なパターン、そして文章の中からリンクを抜き出す抽出用のパターンから選べます。
使い方
- フォームやパーサーが受け付けるべき形式に合ったパターンを選びます。
- URLを1行に1つずつ貼り付けるか、「リンクを探す」に切り替えて任意のテキストを貼り付けます。
- 「有効」と「無効」の件数、および拒否された行ごとの理由を確認します。
- 言語を選んで、コード例をコピーします。
計算式
^https?://(?:(?:label\.)+tld|localhost|IPv4)(?::\d{1,5})?(?:[/?#]\S*)?$
ラベルは、ハイフンで始まらず、ハイフンで終わらない、1〜63文字の英字・数字・ハイフンです。トップレベルドメインは、2〜63文字の英字、またはPunycodeのxn--で始まる名前です。IPv4の各数字は0〜255に制限されます。ホストの後には、任意の:ポートが続き、そのあとに/、?、#で始まる空白を含まない文字列が続けられます。これらのパターンは、URL標準の全体、IDNAの有効性、DNSの参照、IPv6ホストのパーサーを実装していません。空白のクラスは正規表現エンジンごとに異なるため、ASCII以外の入力は実際に使う言語でテストしてください。表に表示するのは最大400行です。
計算例
既定のリストとWebアドレスを使うと、7行のうち4行が通ります。https://example.com、https://www.example.co.uk/path?q=1#top、http://localhost:3000/api、http://192.168.0.1:8080です。example.com/pageにはスキームがなく、ftp://files.example.comは許可されていないスキームで、https://exa mple.comにはスペースが含まれています。スキームを省略可能にすると、ドメインだけのアドレスも通ります(有効5件)。短くて寛容なパターンも5件ですが、追加で通るのはftpのリンクです。
よくある質問
URLの検証に正規表現だけで十分ですか?
フォームの入力欄では、最初のチェックとして有効です。リダイレクトやサーバー側での取得など、セキュリティに関わる用途では、本物のパーサー(JavaScriptのnew URL()、Pythonのurllib.parse)でURLを解析し、返されたスキームとホストを確認してください。
大文字のHTTP://が拒否されるのはなぜですか?
パターンは小文字で書かれています。スキームは大文字小文字を区別しないため、受け付けるにはiフラグを追加してください(Pythonはre.IGNORECASE、PHPは/i、JavaはPattern.CASE_INSENSITIVE)。
ポート99999は拒否しますか?
いいえ。1〜5桁の数字かどうかだけを確認します。有効なTCPポートは0〜65535なので、それが重要な場合は一致したあとに数値を比較してください。
抽出用のパターンが閉じかっこを取り除いたのはなぜですか?
文章中では、リンクの後ろに文に属する「)」やピリオドが続くことが多いため、最後の文字は句読点や閉じかっこにはできません。Wikipedia形式のように、実際に「)」で終わるリンクではそれが削られるので、必要なら付け直してください。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/url-regex-tool/
このツールを引用する
kakaoCalc. (2026, November 8). URL正規表現テスター. https://kakao.mobile/ja/tools/url-regex-tool/
“URL正規表現テスター.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/url-regex-tool/.