2012-09-18 29 views
1

我想用正則表達式來解析URL。雙正則表達式的必要?

URL的格式可以是這樣

yadayadahttp://www.theurl.com/apage
yadayadahttp://www.theurl.com/
yadayadahttp://www.theurl。 COM
yadayadahttp://meow.theurl.com/apage
yadayadahttp://theurl.com
yadayadahttp://theurl.com/

這是我的兩個正則表達式使用和不使用WWW同時處理(或任何其他s ubdoamin)。

WWW的正則表達式:

\bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9]\.\w*[a-z0-9] 

與非WWW正則表達式:

\bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9] 

反正把它們結合起來?我知道有,但我似乎無法做到。我已經嘗試了幾個小時了。

他們似乎也返回空列表給我的列表不必要的項目,是否有可能返回非空的匹配?

回答

2

這可能會爲你工作..

\bhttp:\/\/(\b\w*[a-z0-9]\.)?\w*[a-z0-9]\.\w*[a-z0-9] 
+0

原始匹配模式: \ bhttp:\/\ /(\ B \ W * [一)?\ w * [a-z0-9] \。\ w * [a-z0-9] at http://myregextester.com/index.php 找到的匹配項: 沒有匹配。 – 8bitcat

+0

@CarlPalsson ::源文本是什麼? –

+0

以上 yadayadahttp的字符串://www.theurl.com/apage yadayadahttp://www.theurl.com/ yadayadahttp://www.theurl.com yadayadahttp://meow.theurl.com/apage yadayadahttp://theurl.com yadayadahttp://theurl.com/ – 8bitcat

0

以下可能做到這一點:

\bhttp:\/\/([\w\d\-\.]+\.)?[\w\d\-\.]+\.[\w\d]+\/?