2011-02-10 138 views
2

對於正則表達式,我絕對愚蠢。我一直在嘗試修改以下表達式來匹配以www開頭的網址。它已經匹配以http,ftp和https開頭的URL,但不僅僅是普通的www。我自己並沒有取得太大的成功。任何幫助表示讚賞。正則表達式修改

Regex.IsMatch(text, @"(^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)") 

在此先感謝!

+0

您是否試圖在自由文本中查找網址? – 2011-02-10 21:38:48

+0

這是一個URL字段(因此^在前面),但我確實在其他地方使用了相同的正則表達式(沒有^)來查找自由文本中的URL。 – Chev 2011-02-10 21:40:06

回答

4

使這個......

(http|ftp|https):\/\/ 

這個......

((http|ftp|https):\/\/|www\.) 
1

@Amber提供直接回答你的問題(所以我給它一個+1),但我想指出你應該考慮的另一個事實。

以自由文本方式檢測URL並不像人們想象的那麼微不足道。 Jeff Atwood在his blog post中表現得非常好。我建議你閱讀並瞭解問題。