作者knives ()
看板RegExp
標題[問題] 怎麼取得/ 之間的字串
時間Fri Jun 24 16:42:52 2011
我有一個字串
http://www.tudou.com/programs/view/Bic3TWWQrRY/
我想要取得最後一個Bic3TWWQrRY
我的想法是 /\/[\w+]*\//
可是最後會取到/Bic3TWWQrRY/
要怎麼把左右兩個/拿掉阿
謝謝回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.39.194
1F:推 LPH66:括起來然後取 \1 (詳細方法請看你所使用的Regexp引擎說明) 06/24 16:58
我後來改用這個
/[\/|\/\/](\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)
2F:推 smlboby:最簡單的,就把你取出來的字串再replace掉'/'就好了 06/24 17:29
3F:推 evernever:/\/([^\/]+)\// 06/24 20:09
4F:→ PurpleCrow:/(\w+)\/$/ 06/24 22:40
5F:→ PurpleCrow:因為你用(\w+)當然取不到. @ @ 06/24 22:42
6F:→ PurpleCrow:([a-zA-Z.0-9]+) 可用 ([\w.]+)取代 06/24 22:49
7F:推 blackkaku:/(?<=\/)[^\/]+(?=\/$)/ 06/24 23:39
8F:→ PurpleCrow:全都直接比對,比較不會出錯 06/26 16:06
9F:→ knives:感謝各位的回答 06/27 16:11
10F:→ qwertmn:用split("/")直接切割字串就好了阿XD 08/21 11:37
11F:推 twoseven:(?<=/)\w+(?=/$) 10/11 01:39