我在解析JSON响应时遇到问题。它基本上返回一个JSON对象数组,如
[
{"id":"123","value":"abc","description":"something"},
{"id":"456","value":null,"description":"something else"},
{"id":"789","value":"def","description":"something more"}
]
当我使用以下正则表达式
时"id":"(.+?)","value":(?!null),"description":"(.+?)"
正则表达式提取器中的我得到以下结果:
variable[0][1]:123, variable[0][2]:something
variable[1][1]:456, variable[1][2]:something more
这是错误的,因为匹配必须在第二个对象中被破坏而没有获取第二个id并使用第三个对象的描述。我期待id为789而不是456。
答案 0 :(得分:1)
我找到了自己的答案。如果
之类的单词之间有一个}括号,我需要打破匹配"id":"(.+?)"[^\}]*"value":(?!null)[^\}]*"description":"(.+?)"
轻松修复:)