java 正则获得字符串中间的内容

public static String gbreallyStr(String gbString) {
    String REGEX = "&#x(.*?);";//&#x\W*;
    Pattern p = Pattern.compile(REGEX);
    Matcher m = p.matcher(gbString); // 获取 matcher 对象
    while (m.find()) {
        String matcherStr = m.group(1);
        if (matcherStr != null && matcherStr.length() == 4) {
            //gbString = gbString.replaceAll("&#x" + matcherStr + ";", "\\\\u" + matcherStr);
            String reallyChar = decodeUnicode("\\u" + matcherStr);
            gbString = gbString.replaceAll("&#x" + matcherStr + ";", reallyChar);
        }
        //System.out.println("start(): "+m.start() + "::" + m.group(1));
        //System.out.println("end(): "+m.end());
    }
    gbString = gbString.replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("\n"," ");;
    REGEX = "<return>(.*?)</return>";
    Pattern p2 = Pattern.compile(REGEX);
    Matcher m2 = p2.matcher(gbString); // 获取 matcher 对象
    while (m2.find()) {
        gbString = m2.group(1);
    }
    return gbString;
}

猜你喜欢

转载自blog.csdn.net/u012613251/article/details/86540979