码迷,mamicode.com
首页 > Web开发 > 详细

asp.net正则表达式学习例子

时间:2015-09-02 10:41:08      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

asp.net 获取网页Document时常会用到

edited by:曹永思-博客园

1、获取某个class的div内的标签

获取<div class="imgList2">****</div>内的标签

方法一:

技术分享
 string g = " <div.*?class=\"imgList2\">(?<html>[\\s\\S]*?)</div>";
            Regex reg = new Regex(g, RegexOptions.None);
            MatchCollection mc = reg.Matches(strResult);
            string v = "";
            foreach (Match m in mc)
            {
                v += m.Value + "\r\n";
            }
View Code

方法二(通用方法,获取指定前后内容之间的内容):

string list_a_group_str = GetValue(strResult.Trim(), "<div class=\"imgList2\">", "</div>");
技术分享
  public static string GetValue(string str, string start, string end)
        {
            Regex regex = new Regex(string.Concat(new string[]    {
        "(?<=(",
        start,
        "))[.\\s\\S]*?(?=(",
        end,
        "))"
    }), RegexOptions.Multiline | RegexOptions.Singleline);
            return regex.Match(str).Value;
        }
View Code

2、获取所有a标签的href和text

获取<div class="page both\"></div>里所有a标签的href和text

技术分享
string list_page_group_str = GetValue(strResult.Trim(), "<div class=\"page both\">", "</div>");
            Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=([‘""]?)(?<url>[^""\s>]*)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
            MatchCollection mc = reg.Matches(list_page_group_str);
            foreach (Match m in mc)
            {
                string url = m.Groups["url"].Value + "\n";
                string text = m.Groups["text"].Value + "\n";
            }
View Code

 

asp.net正则表达式学习例子

标签:

原文地址:http://www.cnblogs.com/yonsy/p/4777760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!