Java正则表达式获取JSON模式

标签 java regex json

我需要从字符串中获取 JSON 对象

在此字符串中,JSON 内容是唯一的,形式如下:

abit2:{....};

我用这种方式制作了我的正则表达式,但我无法在分号处停止

public String getJSON(String content) throws MalformedURLException, IOException{

    String json = "";       

    String regex = "abit2:([\\s\\S]*)\\};"; 
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(content);     
    while (matcher.find()) {            
        json = matcher.group().replace("abit2:", "");       
    }

    return json;        
}

最佳答案

您忘记包含左大括号,并且需要将此 [\\s\\S]* 模式设置为非贪婪模式。

String regex = "abit2:\\{([\\s\\S]*?)\\};";

DEMO

关于Java正则表达式获取JSON模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644136/

相关文章:

java - key 工具错误 : java. security.KeyStoreException: DER 未找到

java - FindBug 说这个并发映射不需要同步

regex - 用 perl regex 替换一些变音符号

c# - 如何访问 MVC5 中 Kendo UI 网格内的 Entity Framework 域对象

java - 查找 XML 标记值的正确正则表达式 - java

regex - Angular 模式验证器未按预期工作

java - 具有 Or 条件的正则表达式?

java - Jackson JSON 使用 JAVA BEAN 映射 JSON 键

java - 全局配置ObjectMapper(通过@Bean或smth)从 "data"节点解析

java - 挂线程 java.lang.ClassLoader.findBootstrapClass