2013-10-19 26 views
0

我是初學者的正則表達式,並且無法弄清楚如何在寫入url結構時捕獲變量。如何從URL中讀取正則表達式

.*://[a-z\-.]+/([\w-]*) 

http://localhost/anything-here-goes-comes-here-p90 
http://best-discount-deals.com/anything-here-goes-comes-here-c90 
http://www.gadgetbroadway.com/anything-here-goes-comes-here-p90 

我目前堅持了上述正則表達式,它能夠解析蛞蝓,但不知道如何捕捉蛞蝓的最後部分(P90或C90),規則「\ S \ d {1 ,8}「爲最後一部分。

如果我使用正則表達式比。 ([\ w - ] *)羣組將自動覆蓋最後一部分,因此無法捕獲最後一部分。

任何想法傢伙?

+0

只需追加[' - (\ S \ d {1,8})$'](http://rubular.com/r/W9JvqfMFAL)? – PeeHaa

+0

仍然我無法捕捉字符提前ID即C或P –

+0

你想分別捕獲或? – PeeHaa

回答

0

此添加到末尾:

-([^-]+)$ 
+0

downvoting有點苛刻。雖然它並沒有強制執行他的預期規則,但它仍然捕獲了組織,並且更簡單,我不會認爲這是不可接受的。 – sdanzig

+0

它肯定是在工作,我能夠捕捉到slu thanks感謝的最後一部分。 –

+0

但我不確定爲什麼第一個建議 - (\ S \ d {1,8})$不起作用。我只能想象在括號和大括號前加反斜槓的複雜性。但你說它與數字相符,所以我不確定發生了什麼。這就是爲什麼我建議更簡單的路線。 – sdanzig