Android正则表达式模式Incode UTF-8

Android正则表达式模式Incode UTF-8,android,html,json,regex,pattern-matching,Android,Html,Json,Regex,Pattern Matching,我正在android中尝试使用matcher.group(1)捕获(+++)的这段代码: 但有时它不起作用。我认为这可能是由incode引起的。因此: 如果我认为是真的,我能为这个问题做些什么?(为utf-8制作正则表达式) 如果我错了,我该怎么办?。我试图在json对象中获取字符串。json代码放在html页面的脚本中 你为什么重复(?is)?您只需要在模式开始时声明一次。而且,它效率低下。请尝试“(?is)caption\”\\s*:\\s*”([^\“]*(?:\”(?!,)[\“]*)*

我正在android中尝试使用matcher.group(1)捕获(+++)的这段代码:

但有时它不起作用。我认为这可能是由incode引起的。因此:

  • 如果我认为是真的,我能为这个问题做些什么?(为utf-8制作正则表达式)
  • 如果我错了,我该怎么办?。我试图在json对象中获取字符串。json代码放在html页面的脚本中

  • 你为什么重复
    (?is)
    ?您只需要在模式开始时声明一次。而且,它效率低下。请尝试
    “(?is)caption\”\\s*:\\s*”([^\“]*(?:\”(?!,)[\“]*)*)\“\\s*,\\s*”“
    @stribizhev我总是发现自己从每个人身上学到了一些东西,你的评论/答案中只有一条。@iismathwizard:你可能会感到惊讶,但我在这里也学到了很多,上面的评论是基于我从Casimir et Hippolyte那里学到的东西。这就是为什么戒烟很困难的原因:)。谢谢你,但它不起作用!编码对我的问题不是很有效吗?
    String html = doc.html().toString();
    
                        Pattern p = Pattern.compile("(?is)caption\"(?is):(?is)\"(.+?)\",(?is)\"",
                                Pattern.DOTALL);
                            Matcher m = p.matcher(html);
                            if (m.find()){
                                text_main = m.group(1);
                            }