RegExp 板


LINE

※ 引述《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 就好了 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.102.177
1F:→ PurpleCrow:如果只為了取Bic3TWWQrRY,為什麼不用(\w+)/$ 06/25 22:28
2F:→ PurpleCrow:還可以在縮短一點http://(?:[.\w]+/)+(\w+) 06/25 22:40
3F:→ godspeedlee:如果「只有一個字串」那(\w+)/$的確是最佳解 06/26 00:07
4F:→ godspeedlee:另外,個人比較偏好精確一點的比對方式 06/26 00:08
5F:→ PurpleCrow:看不出原po有說是多個字串 06/26 06:16
6F:→ PurpleCrow:看不出哪裡比較精確,只是多浪費比對步驟罷了 06/26 06:17
7F:→ PurpleCrow:我有一個字串...我想要取得最後一個Bic3TWWQrRY 06/26 06:24
8F:→ PurpleCrow:閣下似乎能先看清楚題意會比較好 06/26 06:26
9F:→ PurpleCrow:http://\w+(?:\.[-\w]+)*/http://www.tudou.com/ 06/26 06:44
10F:→ PurpleCrow:http://(?:[.\w]+/)就可以符合,完全是多餘 06/26 06:47
11F:→ PurpleCrow:或是可以的話,請你提供你我的式子用RegexBuddy 06/26 06:50
12F:→ PurpleCrow:比對結果會不一樣的字串,看看是否有把式子複雜化的必要 06/26 06:52
13F:→ godspeedlee:已經講過這是"個人偏好" 06/26 15:04
14F:→ godspeedlee:要選擇哪一種作法是原po的自由 06/26 15:05
15F:→ godspeedlee:我只是提供一種解答,無意在此題上爭辯 06/26 15:09
16F:→ PurpleCrow:因為你的說法好像除了你的比對式,其他人都是較不精確的 06/26 15:35
17F:→ PurpleCrow:不過連.tudou.com都要特別寫一個不獲取的比對式,不僅複 06/26 15:35
18F:→ PurpleCrow:雜易錯,初學者看到只會卻步.要精確,以下最精確 06/26 15:35
19F:→ PurpleCrow:http://www.tudou.com/programs/view/(\w+)/ 06/26 15:35
20F:→ PurpleCrow:只要能正確match目標字串的比對式就是精確的. 06/26 15:36
21F:→ PurpleCrow:而且比對式愈短愈好,這不就是Regex的目的? 06/26 15:36
22F:→ godspeedlee:抱歉我的推文讓您這樣解讀,的確是我用詞不當 06/26 15:36
23F:→ godspeedlee:讓您受到刺激 06/26 15:40
24F:→ godspeedlee:的確您的寫法初學者比較容易上手 06/26 15:42
25F:→ godspeedlee:以前我也是這麼寫的 06/26 15:43
26F:→ PurpleCrow:所以你現在的意思是你會初學者較不懂的(?:pattern)很厲 06/26 15:53
27F:→ PurpleCrow:害就是了?我的確受到了刺激,一個簡單的匹配,居然可以把 06/26 15:53
28F:→ PurpleCrow:式子寫得那麼冗長.那麼如果是多個字串我想式子應該會長 06/26 15:54
29F:→ PurpleCrow:到爆吧. 06/26 15:54
30F:→ godspeedlee:哈哈哈,被您說中了 06/26 16:01
31F:→ PurpleCrow:教你一個式子 (\w+)/(?!\w) 用RegexBuddy測試看看吧 06/26 16:05
32F:→ PurpleCrow:Regex要像你這樣用的話,勸你真的直接把目標字串以外 06/26 16:05
33F:→ PurpleCrow:http://www.tudou.com/programs/view/ 06/26 16:06
34F:→ PurpleCrow:全都直接比對,比較不會出錯 06/26 16:06
35F:→ godspeedlee:啊,慢者,我有另外一個想法,不曉得對不對。 06/27 00:46
36F:→ godspeedlee:假如我錯的話,希望你糾正我,讓我們來共同看看這件事 06/27 00:47
37F:→ godspeedlee:假如原po要的是Bic3TWWQrRY,那直接搜尋"Bic3TWWQrRY" 06/27 00:47
38F:→ godspeedlee:不是更快嗎?連regex都省了 06/27 00:47
39F:→ PurpleCrow:那你應該去問原po阿,或許真的如你說的那樣 06/27 08:55
40F:→ PurpleCrow:就可惜了可以賣弄把簡單複雜化的機會 06/27 08:55
41F:→ PurpleCrow:土豆網的下載點腳本我也有在用,我通常都是要下載複數個 06/27 09:06
42F:→ PurpleCrow:原po只需要下載一個的機率不大 06/27 09:06
43F:→ PurpleCrow:網頁中要取得載點的資訊所需字串通常要複數個匹配 06/27 09:07
44F:→ PurpleCrow:真希望見識見識以你的方式一個式子去匹配看看呢 ^_^ 06/27 09:07
45F:→ PurpleCrow:喔 題外話 我跟我的同好都是在比式子愈精簡愈好 06/27 09:07
46F:→ PurpleCrow:如果比對式跟原字串差不多長是會被笑話的 06/27 09:07
47F:→ PurpleCrow:無意冒犯 請見諒 06/27 09:07
48F:→ godspeedlee:不知道這樣講對不對,老外的書都寫的挺長的呢 06/28 01:00
49F:→ godspeedlee:也許您可以發個信與這些老外交流一下 06/28 01:01
50F:→ godspeedlee:國內同好跟國外同好交流一下 06/28 01:02
51F:→ godspeedlee:不知道您意下如何呢? 06/28 01:04
※ 編輯: godspeedlee 來自: 122.124.100.96 (06/28 01:12)
52F:→ PurpleCrow:恩 國要的月亮比較圓 老外的屁都是香的 06/28 08:37
53F:→ PurpleCrow:不知道這樣講對不對? 06/28 08:37
54F:→ PurpleCrow: 外 06/28 08:38
55F:→ PurpleCrow:簡單的說 就是想賣弄嘛 不知道這樣講對不對? 06/28 08:39
56F:→ PurpleCrow:如果老外的式子都要寫得又臭又長才能匹配目標字串 06/28 08:41
57F:→ PurpleCrow:恕小弟我沒興趣交流,小弟的同好更不用說了 06/28 08:43
58F:→ PurpleCrow:我還是習慣用不精確卻可以正確匹配目標字串的簡短式子 06/28 08:47
59F:→ PurpleCrow:不知道您覺得這樣可不可以呢? 06/28 08:49
60F:→ PurpleCrow:喔 不精確卻可以正確匹配目標字串 這句好矛盾 請無視之 06/28 08:50
61F:推 badwork:偏離主題啦... 06/28 22:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP