[問題] 怎麼取得/ 之間的字串

看板RegExp (正規表示式 Regular Expression)作者時間13年前 (2011/06/24 16:42), 編輯推噓5(506)
留言11則, 8人參與, 最新討論串1/2 (看更多)
我有一個字串 http://www.tudou.com/programs/view/Bic3TWWQrRY/ 我想要取得最後一個Bic3TWWQrRY 我的想法是 /\/[\w+]*\// 可是最後會取到/Bic3TWWQrRY/ 要怎麼把左右兩個/拿掉阿 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.39.194

06/24 16:58, , 1F
括起來然後取 \1 (詳細方法請看你所使用的Regexp引擎說明)
06/24 16:58, 1F
我後來改用這個 /[\/|\/\/](\w+)*/ 會取到 Result 1 1. Result 2 1. www Result 3 1. programs Result 4 1. view Result 5 1. Bic3TWWQrRY Result 6 1. 我比較有問題的是第二的www.tudou.com 為什麼只取到www就斷掉了 難道只剩下用 [\/|\/\/]([a-zA-Z.0-9]+)* 才可以,感覺好差 不知道有沒有更好的做法 謝謝回答 ※ 編輯: knives 來自: 122.117.39.194 (06/24 17:28)

06/24 17:29, , 2F
最簡單的,就把你取出來的字串再replace掉'/'就好了
06/24 17:29, 2F

06/24 20:09, , 3F
/\/([^\/]+)\//
06/24 20:09, 3F

06/24 22:40, , 4F
/(\w+)\/$/
06/24 22:40, 4F

06/24 22:42, , 5F
因為你用(\w+)當然取不到. @ @
06/24 22:42, 5F

06/24 22:49, , 6F
([a-zA-Z.0-9]+) 可用 ([\w.]+)取代
06/24 22:49, 6F

06/24 23:39, , 7F
/(?<=\/)[^\/]+(?=\/$)/
06/24 23:39, 7F

06/26 16:06, , 8F
全都直接比對,比較不會出錯
06/26 16:06, 8F

06/27 16:11, , 9F
感謝各位的回答
06/27 16:11, 9F

08/21 11:37, , 10F
用split("/")直接切割字串就好了阿XD
08/21 11:37, 10F

10/11 01:39, , 11F
(?<=/)\w+(?=/$)
10/11 01:39, 11F
文章代碼(AID): #1E14uFNV (RegExp)
討論串 (同標題文章)
文章代碼(AID): #1E14uFNV (RegExp)