2016-08-16 48 views
0

我有三種類型的URL。我正在嘗試創建正則表達式來選擇每種類型的URL。比方說,三種類型的網址是: -創建正則表達式來選擇不同的項目

第一個: - http://www.domain.com/goodday/

第二個: - http://www.domain.com/today-is-gooddady/

第三個: - http://www.domain.com/life-is-good/enjoy-a-happy-life/

現在,我需要爲他們每個人不同的正則表達式。我使用這個: -

http://www.domain.com/(.*?)/但它是選擇所有。我需要三個正則表達式來選擇三種類型的URL。

+0

爲了得到一個答案,請儘量提供一個更確切的規格你的問題。你的三種類型的網址有什麼區別?你的例子讓讀者猜測。它是斜槓和破折號的數量嗎?字符串長度?字符串「好」之後的「d」的數量? – Heinrich

回答

0

首先,請記住,一個正則表達式模式中的點一定要逃出來匹配字面點,或者它將匹配任何字符(但換行符)。

假設第一URL不具有連字符和只包含一個基體部分後子部分:

^http://www\.domain\.com/[^/-]*/$ 

參見Demo 1

第二個可以與

^http://www\.domain\.com/[^/-]+(?:-[^/-]+)+/$ 

如果被匹配要點是基本部分之後的唯一子部分應該至少有1個連字符。見Demo 2

,而第三個假設必須有2子部分,可以用

^http://www\.domain\.com/[^/]+/[^/]+/$ 

匹配見Demo 3

0

不知道是否理解你正確: 1只:http:\/\/www.domain.com\/[^-]*?\/$ 只有2次:http:\/\/www.domain.com\/[^\/]*?\/$ 3只:http:\/\/www.domain.com\/[^\/]*?\/[^\/]*?\/$