相关疑难解决方法(0)

正则表达式匹配嵌套的 json 对象

我正在实现某种解析器,我需要定位和反序列化嵌入到其他半结构化数据中的json 对象。我使用了正则表达式:

\\{\\s*title.*?\\}
Run Code Online (Sandbox Code Playgroud)

定位对象

{title:'Title'}
Run Code Online (Sandbox Code Playgroud)

但它不适用于嵌套对象,因为表达式只匹配第一个找到的右大括号。为了

{title:'Title',{data:'Data'}}
Run Code Online (Sandbox Code Playgroud)

它匹配

{title:'Title',{data:'Data'}
Run Code Online (Sandbox Code Playgroud)

所以字符串对于反序列化无效。我知道考虑到贪婪的业务,但我不熟悉正则表达式。你能帮我扩展表达式以使用所有可用的右大括号吗?

更新:

需要明确的是,这是一种尝试从 HTML+JS 等带有嵌入 JSON 的半结构化数据中提取 JSON 数据的尝试。我正在使用 GSon JAVA lib 来实际解析提取的 JSON。

java regex

9
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1

regex ×1