看板 Perl 關於我們 聯絡資訊
各位版上先進好,小弟是perl新手,想請教有關於正規化切片字串問題如下: my $ data='{729, 5, "c/media/movie/0012",{0x00,0x02,0x00,}}'; 假設我想使字串變為 {729, {0x00,0x02,0x00}}的話 我使正規化方法是 $data=~(s/(\d+),\s\d+,\s\"/\w+/\w+/\w+/\d+\"/$1/); 這樣寫起來蠻麻煩,而且有時候路徑長短不一,想請問版上大大有更好寫法,像是遇到 (^"xxxxx"$) 就去除雙引號內值(小弟試過蠻多次無法達成><),謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.241.60.88
imce:阿~我的話會用split再把不要的挑掉在join回來 03/29 21:13
kaikai75130:如果一定要用正規表示有辦法判斷雙引號就清除嗎? 03/29 21:59
l10nel:$data =~ s/\s*\d+\s*,\s*"[^"]+"\s*,\s*/ /g; 03/30 04:41
l10nel:假設逗號前後的空白可有可無,假設路徑資料不含雙引號 03/30 04:43
kaikai75130:樓上大大給的是否有少些符號呀?執行解果沒變呢@@ 03/30 09:31
kaikai75130:已用\"[\/\w+]+\" 解決 03/30 13:01