首頁  >  文章  >  後端開發  >  用於帶或不帶協定的 URL 匹配的通用正規表示式

用於帶或不帶協定的 URL 匹配的通用正規表示式

DDD
DDD原創
2024-10-22 08:47:30858瀏覽

Universal Regular Expression for URL Matching with or without Protocols

用於匹配帶或不帶協議的URL 的正則表達式

對於可能包含或不包含「http://www 」前綴的URL ,可以使用正規表示式來執行匹配操作。下面提供了詳細的正規表示式模式:

((https?|ftp)://)?([a-z0-9+!*(),;?&amp=$_.-]+(:[a-z0-9+!*(),;?&amp=$_.-]+)?@)?([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+$%_.-]*)?

要利用此模式進行URL 驗證,可以按以下方式應用它:

<code class="php">if (preg_match("~^$regex$~i", 'www.example.com/etcetc', $m))
    var_dump($m);

if (preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m))
    var_dump($m);</code>

此正規表示式解決方案提供了一種全面的方法匹配URL,無論它們是否包含“http://”前綴。

以上是用於帶或不帶協定的 URL 匹配的通用正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn