用於匹配URL 的改進正則表達式
嘗試從用戶輸入中檢測和解析URL 時,使用有效的正則表達式至關重要。在您的情況下,雖然您目前的表達式捕獲了某些 URL 格式,但它無法考慮缺乏明確協定方案的 URL,例如 www.google.com。
修訂的正規表示式
要解決此問題並確保全面的 URL匹配,請考慮使用以下修訂後的正規表示式:
^(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
正規表示式剖析
範例實作 (JavaScript)
const regex = new RegExp(/(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)g); const url = 'www.google.com'; if (url.match(regex)) { console.log("URL successfully matched."); } else { console.log("URL did not match."); }
以上是如何改進正規表示式以更有效地匹配 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!