匹配HTML中的DIV

xiaoxiao2025-01-30  17

public static String getContentByRegex2(String webContent, String screenRegex, String tag) { Pattern aPattern = Pattern.compile(screenRegex, 2); Matcher aMat = aPattern.matcher(webContent); String result = null; if (!aMat.find()) { return result; } result = aMat.group(1); int index = 0; int totalStartTag = 0; int totalEndTag = 0; int flag = 0; String regexStart = "(<" + tag + ">)|(<" + tag + "\\s+[^<>/]*>)"; String regexSEnd = "</" + tag + ">"; String regexTag = "(<" + tag + ">)|(<" + tag + "\\s+[^<>/]*>)|(</" + tag + ">)"; result = result + regexSEnd; Pattern aPatternStartTag = Pattern.compile(regexStart, 2); Matcher aMatStartTag = aPatternStartTag.matcher(result); if (aMatStartTag.find()) { if (aMatStartTag.start() > (index = result.indexOf(regexSEnd))) { return result.substring(0, index); } Pattern aPatternTag = Pattern.compile(regexTag, 2); Matcher aMatTag = aPatternTag.matcher(result); while (aMatTag.find()) { String str = aMatTag.group(); if (str.matches(regexSEnd)) { totalEndTag++; } else { totalStartTag++; } if (totalEndTag == totalStartTag) { flag = 1; continue; } if (flag == 1 && str.matches(regexSEnd)) { index = aMatTag.start(); result = result.substring(0, index); break; } else { flag = 0; continue; } } } else { if ((index = result.indexOf(regexSEnd)) != -1) { result = result.substring(0, index); } } return result; }
转载请注明原文地址: https://www.6miu.com/read-5023581.html

最新回复(0)