匹配HTML中的DIV

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值