几个很强大的正则表达式

时间:2015/12/3 17:28:00来源:互联网 作者:flyso 点击: 1753 次

将html内容中特定的内容放到集中并列出来
var list = Regex.Matches(str, @"(?is)ST_+(?=[^>]*?pid\-(?<pid>[^&_]+))(?=[^>]*?sid\-(?<sid>[^&_]+))(?=[^>]*?innername\-(?<innername>[^&]+))(?=[^>]*?format\-(?<format>[^&_]+)).*?_+ST").OfType<Match>().Select(t => new { pid = t.Groups["pid"].Value, sid = t.Groups["sid"].Value, innername = t.Groups["innername"].Value, format = t.Groups["format"].Value }).ToList();
        foreach (var obj in list)
        {
            Response.Write("pid:" + obj.pid + " sid:" + obj.sid + " innername:" + obj.innername + " format:" + obj.format + "<br />");
        }
带自身字符串
       var list = Regex.Matches(str1, @"(?is)ST_+(?=[^>]*?pid\-(?<pid>[^&_]+))(?=[^>]*?sid\-(?<sid>[^&_]+))(?=[^>]*?innername\-(?<innername>[^&]+))(?=[^>]*?format\-(?<format>[^&_]+)).*?_+ST")
.OfType<Match>().Select(t => new { all = t.Groups[0].Value, pid = t.Groups["pid"].Value, sid = t.Groups["sid"].Value, innername = t.Groups["innername"].Value.Replace("___ST", ""), format = t.Groups["format"].Value }).ToList();
        foreach (var obj in list)
        {
            Response.Write("pid:" + obj.pid + " sid:" + obj.sid + " innername:" + obj.innername + " format:" + obj.format + " all:" + obj.all + "<br />");
        }

读取html中特定的内容。
        string par = string.Format(@"(?is)<ST:.*?id=""{0}""(?=[^>]*?tooltip=([""'])(?<tooltip>[^""']+)\1)[^>]*>", controlid);
        string Tooltip = Regex.Match(str, par).Groups["tooltip"].Value;

读取HTML并在分析div取相应的属性值:
var list = Regex.Matches(htmlcont, @"(?is)<div[^>]*?style=(['""]?)(z-index:\s*?(?<zIndex>-?\d+)|left:\s*?(?<left>-?\d+(\.\d+)?)|top:\s*?(?<top>-?\d+(\.\d+)?)|font-size:\s*?(?<fontSize>\d+)|font-family:\s*?(?<fontfamily>\w+)|[^'""])*?\1[^>]*?>\s*?(<b>)?(?<text>((?!<(img|b)[^>]*?>)[\s\S])*?)\s*?(</b>)?</div>").OfType<Match>().Select(t => new { zIndex = t.Groups["zIndex"].Value, left = t.Groups["left"].Value, top = t.Groups["top"].Value, fontSize = t.Groups["fontSize"].Value, fontfamily = t.Groups["fontfamily"].Value, text = t.Groups["text"].Value }).ToList();
            if (list.Count > 0)
            {
                foreach (var obj in list)
                {
                    str2 += " left:" + obj.left + " top:" + obj.top + " cont:" + obj.text + " font-family:" + obj.fontfamily + " ";
                }
            } 

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3