我需要提取XXXX在URL中的以下字符串:一個簡單的正則表達式,提取之間是什麼「/ d /」和「/」
{anything}/d/xxxx/{anything}
也就是說,得到什麼是間「/ d /「和之後的第一個」/「,然後忘記其餘的。
另外,你有沒有一個很好的學習正則表達式的資源?一本書?一個教程? (請給出你的建議,作爲對這個問題的評論)
我需要提取XXXX在URL中的以下字符串:一個簡單的正則表達式,提取之間是什麼「/ d /」和「/」
{anything}/d/xxxx/{anything}
也就是說,得到什麼是間「/ d /「和之後的第一個」/「,然後忘記其餘的。
另外,你有沒有一個很好的學習正則表達式的資源?一本書?一個教程? (請給出你的建議,作爲對這個問題的評論)
您還沒有注意到您正在使用的語言。
.+\/d\/([^\/]+).+
將做到這一點,並有搜索部分$ 1(在Perl)
至於問題 - 我不太確定,但我有這個網站的書籤。這是一個不錯的Tutorial。
希望這會有所幫助!
/d/(.*?)/
會給你一個包含你想要的東西的捕獲組。
Regular Expression Tutorial是一個體面的地方開始,否則得到一個工具,如Expresso和有一個遊戲!它會給你一個明確的文字解釋你的正則表達式的含義。
下面是一個與Expresso一起使用的教程:The 30 Minute Regex Tutorial。
如果可以有多個這樣可不行'下面的'/ d//'字符',因爲它會捕捉超越第一。 – eldarerathis 2011-06-01 14:02:41
@eldarerathis說。你可以簡單地把'*'量詞變成懶惰的版本'*?'。那麼它會工作。 – mhyfritz 2011-06-01 14:07:04
@eldarerathis:好點,更新(根據@ mhyfritz的評論)。 – Town 2011-06-01 14:11:14
非常感謝Erik,非常有幫助 – Victor 2011-06-01 18:07:00