ホームページ >ウェブフロントエンド >jsチュートリアル >「http://」プレフィックスの有無にかかわらず URL を検出するための堅牢な正規表現を作成する方法

「http://」プレフィックスの有無にかかわらず URL を検出するための堅牢な正規表現を作成する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-05 21:34:41638ブラウズ

How to Create a Robust Regular Expression for Detecting URLs with or without

包括的な URL RegEx を構築する方法

RegEx パターンは、特定のテキスト形式を照合するための強力なツールです。 RegEx パターンを使用して URL を識別するには、正確な検出を確実にするために細心の注意が必要です。

あなたの場合、「http://」プレフィックスのない URL を検出しようとすると問題が発生します。これに対処するために、拡張された RegEx パターンを次に示します。

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

パターンの詳細:

  • プロトコル (オプション):

    • https? 「http://」または「https://」に一致します (大文字と小文字は区別されません)。
  • サブドメイン プレフィックス (オプション):

    • (www.) は「www」と一致します。サブドメインのプレフィックス。
  • ドメイン名:

    • [-a-zA-Z0-9@:%._ ~#=]{1,256} は、文字、数字、および指定された特殊文字の任意の組み合わせと一致します。最大長は次のとおりです。 256 文字。
  • トップレベル ドメイン:

    • .[a-zA-Z0-9()] {1,6} は、最大長が次のトップレベル ドメイン (例: 「.com」、「.org」) に一致します。 6 文字。
  • パスとクエリ文字列 (オプション):

    • b([-a-zA-Z0 -9()@:%_ .~#?&//=]*) は、 URL.

必須プロトコルのない代替正規表現:

[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

このバージョンでは、プロトコル一致コンポーネントが削除され、次の用途に適しています。 「www.google.com」などの URL。

以上が「http://」プレフィックスの有無にかかわらず URL を検出するための堅牢な正規表現を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。