2011-06-01 51 views
1

我需要提取XXXX在URL中的以下字符串:一個簡單的正則表達式,提取之間是什麼「/ d /」和「/」

{anything}/d/xxxx/{anything} 

也就是說,得到什麼是間「/ d /「和之後的第一個」/「,然後忘記其餘的。

另外,你有沒有一個很好的學習正則表達式的資源?一本書?一個教程? (請給出你的建議,作爲對這個問題的評論)

回答

5

您還沒有注意到您正在使用的語言。

.+\/d\/([^\/]+).+

將做到這一點,並有搜索部分$ 1(在Perl)

+0

非常感謝Erik,非常有幫助 – Victor 2011-06-01 18:07:00

1

至於問題 - 我不太確定,但我有這個網站的書籤。這是一個不錯的Tutorial

希望這會有所幫助!

3
/d/(.*?)/ 

會給你一個包含你想要的東西的捕獲組。

Regular Expression Tutorial是一個體面的地方開始,否則得到一個工具,如Expresso和有一個遊戲!它會給你一個明確的文字解釋你的正則表達式的含義。

下面是一個與Expresso一起使用的教程:The 30 Minute Regex Tutorial

+1

如果可以有多個這樣可不行'下面的'/ d//'字符',因爲它會捕捉超越第一。 – eldarerathis 2011-06-01 14:02:41

+0

@eldarerathis說。你可以簡單地把'*'量詞變成懶惰的版本'*?'。那麼它會工作。 – mhyfritz 2011-06-01 14:07:04

+0

@eldarerathis:好點,更新(根據@ mhyfritz的評論)。 – Town 2011-06-01 14:11:14

相關問題