2012-02-17 54 views

回答

7

匹配以http://https://後跟任意數量的任何字符(.*)的開始,緊接着又/斜線。

/斜槓需要轉義。我不知道爲什麼冒號也逃脫了。

+1

除此之外,在''是貪婪地完成,所以''go to mypage將導致用'http://mysite.com。 /mypage.php「> go to mypage <'in match [1]。我不是說這個正則表達式有這種缺陷,你只需要在使用時注意它。 – Matthew 2012-02-17 22:11:20

1

一個以「http」/「https」開頭的字符串,後跟://,後跟任意數量的字符(貪婪地),然後是尾隨的/。

該比賽本身將正好是搜索,減去最後一個/。

4
  • ^串的開始
  • (捕獲組
    • http字符 「HTTP」
    • s?零或字符中的一個的 「s」
    • \:冒號字符的開始(逃脫,雖然沒有必要)
    • \/\/個兩個正向斜槓字符(轉義,以便它不關閉正則表達式字面)
    • .*零更多個任意字符,除了換行符捕獲組的
  • )
  • \/斜槓chararacter (逃脫,使其不會關閉正則表達式字面)

起始和結尾/字符僅表示正則表達式文字符號。

1

這是一個非常普通的正則表達式:

^在字符串

(開始啓動捕獲

http匹配 「HTTP」 的字面

s?匹配一個可選的 「S」

\:符合字面結腸

\/匹配文字斜線

\/匹配文字斜線

.*然後儘可能多的字符可能

)結束捕獲

\/在字面斜線結束

正則表達式具有從URL中捕獲協議,主機和路徑的效果,並在最後排除任何文件。例如在https://www.host.com/path/to/my/file.cgi的情況下,將捕獲​​。

1

這是什麼會是正則表達式匹配的一些例子:

https://www.aaa.bb/ 
http://www.aaa.bb/ 
http://some.server/ 
http://aa/ 
http:/// 
https:/// 
http://////////// 
https://////////// 
相關問題