有json表達式{"a":"aaaaaaaaa","aa":"baaaaaaaaa","aa":"caaaaaaaaa","b":{"c":1,"d":"ddddd"},"e":[1,2,5,9,7]}我用正則表達式/\".+\":\"[^\"]+\",/想分別提取"a":"aaaaaaaaa"和"aa":"baaaaaaaaa"還有"aa":"caaaaaaaaa"。但是運行結果確實直接"a":"aaaaaaaaa","aa":"baaaaaaaaa","aa":"caaaaaaaaa",一整串。求高手知道這是為什麼
首先,[^\"]這種寫法是沒必要的,因為在[]內部,"並不需要轉義。其實整個正則裡,“都不需要轉義,因為你是用/作為分隔符的。
其次,你既然知道對第二個引號中的內容使用[^\"]+匹配,你為什麼不對一個引號內的內容也用[^\"]+匹配呢?上面這是一種方法,另一種方法是/\".+?\":\"[^\"]+\",/,即在第一個+後加一個?。