※ 引述《knives ()》之銘言:
: 我有一個字串
: http://www.tudou.com/programs/view/Bic3TWWQrRY/
: 我想要取得最後一個Bic3TWWQrRY
: 我的想法是 /\/[\w+]*\//
: 可是最後會取到/Bic3TWWQrRY/
: 要怎麼把左右兩個/拿掉阿
: 謝謝回答
用 RegexBuddy 測試過 ok
http://\w+(?:\.[-\w]+)*/(?:\w+/)+(\w+)/
稍微說明一下:
前面兩個 (?:...) 是告訴 regex engine 這只是分組用的,
不需要儲存(capture),真正會儲存的只有最後一個括號。
第二個 (?:...) 會一路把所有的 path 吃完,但是因為碰到
(\w+)/ 所以會逐步交還字元直到比對成功
這個 pattern 是隨手寫的,辨識 url 的範例很多,不想
花時間研究就去抄 Regular Expression Cookbook 就好了