看板 RegExp 關於我們 聯絡資訊
我有一筆很大的json資料(萬筆以上)需要parse, 可是實際上每次在存取時, 都只是需要其中的10幾筆資料, 一次將資料轉換成JSON物件又會吃掉很多記憶體, 所以想要用正規式做字串分析, 但寫出來的正規式實在又臭又長, 因此想跟板友討教是否有更簡便的寫法, 最大的問題在於每筆資料的第18欄可能是陣列, 導致無法使用\[.*?\]來切割, 資料內容大約如下: { "0000001":[1,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,0,0,0,0,7], "0000002":[2,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,1,0,0,0,7], "0000003":[3,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,[1,1,1],0,0,0,7] } 目前使用的正規式如下: \"(0000002|0000003)\":\[((.+?),+){18}(?(?=\d+).+?|\[.+?\]).*?\] -- http://www.myspace.com/soundtrack0220 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.136.171 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1412686027.A.4A9.html
CindyLinz: "(0000002|0000003)":(.*,){18}(\[.*?\]|[^,]*) 10/08 16:57
CindyLinz: "(0000002|0000003)":(.*?,){18}(\[.*?\]|[^,]*) 10/08 17:00