「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 正規表現を使用して、オプションの HTTP および WWW プレフィックスの有無にかかわらず URL を照合するにはどうすればよいですか?

正規表現を使用して、オプションの HTTP および WWW プレフィックスの有無にかかわらず URL を照合するにはどうすればよいですか?

2024 年 11 月 9 日に公開
ブラウズ:484

How to Match URLs with or Without Optional HTTP and WWW Prefixes Using a Regular Expression?

オプションの HTTP および WWW プレフィックスを使用した URL の照合

正規表現は、複雑なパターン マッチング タスクのための強力なツールです。 URL の一致に関しては、「http://www」が含まれるかどうかなど、形式が異なることがよくあります。

正規表現を使用した解決策

「http://www.」の有無にかかわらず URL を照合するにはプレフィックスとして、次の正規表現を使用できます:

((https?|ftp)://)?
([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)?
([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))
(:[0-9]{2,5})?
(/([a-z0-9 $_%-]\.?) )*/?
(\?[a-z &\$_.-][a-z0-9;:@&%= /$_.-]*)?
(#a-z_.-][a-z0-9 $%_.-]*)?

式の内訳:

  • (https?|ftp):// - オプションのプロトコル識別子 (http またはftp)
  • ([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&= $_.-] )?@)? - オプションのユーザーとパスワード
  • ([a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1,3}.([0 -9]{1,3}).([0-9]{1,3}))) - ホスト名または IPアドレス
  • (:[0-9]{2,5})? - オプションのポート番号
  • (/([a-z0-9 $ _%-].?) )*/? - オプションのパス
  • (?a-z &$_.-*)? - オプションのクエリ文字列
  • (#a-z_.-][a-z0-9 $%_.-]*)? - オプションのアンカー

使用例

指定された文字列が正規表現と一致するかどうかを確認するには、次の構文を使用します:

if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))

これは TRUE を返します文字列が「http://www.」の有無にかかわらず URL パターンに一致するかどうか。接頭辞。

リリースステートメント この記事は次の場所に転載されています: 1729557683 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3