正则表达式截取两个指定字符串之间的内容?

原字串:{"value":["abcdefghij"],"type":"normal","state":[{"error":"0","result":"true"]}

我现在只想要,第一个value后面中括号之间的字符串(不包括引号),我之前用的
string pattern="\"value\":\\[\"(?<result>.*)\"\\]";
如果后面没有state字段,就可以截取到想要的字串,如果有state就直接截取到最后一个中括号前了,怎么指定最近的那个?

正则表达式 "value":\["(.*?)"\]

然后取第一个分组就好了,加个?是懒惰匹配,尽量匹配少的字符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

这段字符串,需要提取 "MEMBERID":"24912496","SHOPTYPE" 中间的数字 24912496

两个特定字符串带有符号的;例如PROMOTEDTYPE":"260","MEMBERID":"24912496","SHOPTYPE":"2","EXLEVEL":"15","PROMOTEDTYPE":"260","MEMBERID":"78912496","SHOPTYPE":"2","EXLEVEL":"15","PROMOTEDTYPE":"260","EXMEMBERID":"28912496","SHOPTYPE":"2","EXLEVEL":"15","PROMOTEDTYPE":"260","MEMBERID":"74122906","SHOPTYPE":"2","EXLEVEL":"15"。

本回答被网友采纳