2012-07-30 112 views
-2

我要尋找的正則表達式的簡單URL作爲正則表達式的簡單URL

  • http://www.google.com
  • http://www.yahoo.in
  • http://www.example.eu
  • http://www.example.net

沒有子目錄允許的。例如在這種情況下,它不能驗證http://www.google.com/,http://www.yahoo.in/mail

有沒有人知道任何正則表達式來做到這一點?

+0

是http://必需的,如果沒有第三級域名存在,應該假設www? – Wug 2012-07-30 15:36:17

+0

您正在使用哪種語言?如果它具有解析URL的工具,請使用它並驗證路徑,查詢和片段標識符是否爲空。 – 2012-07-30 15:38:31

+0

好吧,我已經搜索了所有的互聯網,並嘗試了無數的正則表達式,但他們都沒有工作。 http://不是必需的,它可以像www.google.com一樣簡單 – 2012-07-30 15:42:13

回答

0

我還是個菜鳥,但試試這個:

^http:\/\/[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+$ 
+0

工作,謝謝。你能不能也給我沒有http://的url的例子?例如,如果它只是www.google.com。在此先感謝 – 2012-07-30 15:46:07

+0

缺少兩個字符:下劃線('_')和短劃線('-')。 – 0605002 2012-07-30 15:49:20

+0

只是使「http://」部分可選,你會得到這個:'^(http:\/\ /)?[a-zA-Z0-9 _ \ - ] + \。[a-zA-Z0 -9 _ \ - ] + \ [A-ZA-Z0-9 _ \ - ] + $'。此外,不要忘記標記答案,回答你的問題:) – 2012-07-30 15:49:27

-1

這一個應該做的:

^(https?:\/\/)?[0-9a-zA-Z]+\.[-_0-9a-zA-Z]+\.[0-9a-zA-Z]+$ 

這應該開始http://https://或未經協議名稱的網址工作。

正則表達式也應該用作區分大小寫。在這種情況下,它可以縮短一點:

^(https?:\/\/)?[0-9a-z]+\.[-_0-9a-z]+\.[0-9a-z]+$ 
+0

這忽略了權限內用戶信息的可能性。有關詳細信息,請參閱[關於URI方案的維基百科文章](http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax)。 – ghoti 2012-07-30 16:00:43

0

如果你不在乎它是否是一個有效的URL,你可以使用:

\S*www\.\S+ 

所有的例子都包含www.接着是非空格字符,但這不太可能出現在普通單詞中。