如何用正则表达式捕获最后一个匹配\"disp_title\":"与\","subtitle"的字符串?
捕获JSON中最后一个匹配的disp_title内容
你需要提取JSON里最后一个位于"disp_title":"和","subtitle"之间的内容,现有正则"disp_title":"(.*?)","subtitle"只能匹配第一个结果,修改方法如下:
直接使用贪婪匹配前置内容的正则:
.*"disp_title":"(.*?)","subtitle"
原理
前面的.*是贪婪模式,会尽可能匹配所有字符,直到碰到最后一个"disp_title":",这样括号里的(.*?)就会精准捕获最后一组符合要求的内容。
提醒:如果JSON结构存在嵌套字符串或复杂层级,正则容易出现误匹配,这种场景下优先用专业的JSON解析工具(比如Python的json库、JS的JSON.parse)处理会更稳妥。
内容的提问来源于stack exchange,提问作者Steffen
相关产品推荐
相关产品推荐

