2015-02-07 43 views

回答

2
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([?=\/\w \.-]*)\/?$ 

               ^^   ^^ 

嘗試this.See demo.Added ?=字符class.Also刪除*)*這將導致災難性的回溯。

https://regex101.com/r/wX9fR1/7

+1

很好指出[爆炸陷阱](http://www.rexegg.com/regex-explosive-quantifiers.html#example)!計數[100024步驟](https://regex101.com/r/fU8xE6/1)在OPs模式+提供的示例網址:S – 2015-02-07 16:51:28

+0

我希望它能夠適用於所有網址,而不是一些指定 – 2015-02-07 17:01:03

+0

@SatishKumarSingh它將爲所有人提供服務。它有沒有失敗? – vks 2015-02-07 18:31:01

1

您需要在最後一個字符類中添加幾個字符以支持查詢字符串?,&=

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([?=&\/\w \.-]*)*\/?$ 

RegEx Demo

1

它不會爲URL的工作,因爲它有一個查詢字符串(?v=wEQi87xSIgU)。

$前補充一點:

(\?[^#]*)?(#.*)? 

這將匹配查詢字符串,和散列。