作者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