簡體   English   中英

URL C#的正則表達式

[英]Regex for URL C#

在我的C#程序中,我編寫了一個Google搜索功能,該功能的工作原理是從每個頁面獲取源代碼並通過正則表達式獲取URL。

我實際的正則表達式是:

(?:(?:(?:http)://)(?:w{3}\\.)?(?:[a-zA-Z0-9/;\\?&=:\\-_\\$\\+!\\*'\\(\\|\\\\~\\[\\]#%\\.])+)

目前,這很好用,但是我得到的網址例如為http://www.example.com/forums/arcade.php?efdf=332

在這種情況下,我只想獲取沒有末尾?efdf=332的URL。

那么我該如何更改正則表達式呢?

http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+

與您的正則表達式相同(我已刪除了很多不必要的內容),但是在之前停止匹配鏈接?

在C#中:

Regex regexObj = new Regex(@"http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+")

也就是說,我不確定這是否是匹配URL的好方法( httpsftpmailto等如何?)

您可以使用Uri類訪問URL的各個部分,並從末尾刪除查詢字符串,或者連接所需的部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM