您的位置:首页 > Web前端 > HTML

用正则表达式提取html中的一个指定div对

2011-07-26 22:54 1221 查看
得用平衡组了

Regex re = new Regex("(?is)<div class=\"info\">[^<>]*(((?'TAG'<div[^>]*>)[^<>]*)+((?'-TAG'</div>)[^<>]*)+)*(?(TAG)(?!))</div>", RegexOptions.None);
MatchCollection mc = re.Matches("text");
foreach (Match ma in mc)
{
}

上面的做法并不全对,因为在用的排除式[^<>]*会除去所有含有其它非div标签的div对,所以得到的结果并不满意
在此基础上修改得到:

<div class="info">((?!</?div[^>]*>).|\n)*(((?'TAG'<div[^>]*>)((?!</?div[^>]*>).|\n)*)+((?'-TAG'</div>)((?!</?div[^>]*>).|\n)*)+)*(?(TAG)(?!))</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: