<ul class="hos-list_ins">
        <li class="xm f12px">
                机构性质:
        </li>
        <li class="con">
                私立
        </li>
</ul>
<ul class="hos-list_ins">
        <li class="xm f12px">
                科室分布:
        </li>
        <li class="con">
                整形科
        </li>
</ul>
<ul class="hos-list_ins">
        <li class="xm f12px">
                医 生 数:
        </li>
        <li class="con">
                6-8位
        </li>
</ul>
<ul class="hos-list_ins">
        <li class="xm f12px">
                治疗室数:
        </li>
        <li class="con">
                25间
        </li>
</ul>
想获取"私立"," 整形科","6-8位"这些值...

解决方案 »

  1.   


    机构性质:[\s\S]*?<li[^>]*>([\s\S]*?)</li>
    科室分布:[\s\S]*?<li[^>]*>([\s\S]*?)</li>
    医\s*生\s*数:[\s\S]*?<li[^>]*>([\s\S]*?)</li>
      

  2.   

    var strInput = @"<ul class=""hos-list_ins"">
            <li class=""xm f12px"">
                    机构性质:
            </li>
            <li class=""con"">
                    私立
                    </li>
            </ul>
            <ul class=""hos-list_ins"">
                    <li class=""xm f12px"">
                            科室分布:
                    </li>
                    <li class=""con"">
                            整形科
                    </li>
            </ul>
            ";
    Regex re = new Regex("(?is)<li\\s+class=\"con\">\\s*(\\S+)\\s*?</li>");
    MatchCollection mc = re.Matches(strInput);
    foreach (Match ma in mc)
    {
        Console.WriteLine(ma.Groups[1]);
    }
      

  3.   

                var str = @"<ul class=""hos-list_ins"">
                    <li class=""xm f12px"">
                            机构性质:
                    </li>
                    <li class=""con"">
                            私立
                            </li>
                    </ul>
                    <ul class=""hos-list_ins"">
                            <li class=""xm f12px"">
                                    科室分布:
                            </li>
                            <li class=""con"">
                                    整形科
                            </li>
                    </ul>
                    <ul class=""hos-list_ins"">
                            <li class=""xm f12px"">
                                    医 生 数:
                            </li>
                            <li class=""con"">
                                    6-8位
                            </li>
                    </ul>
                    <ul class=""hos-list_ins"">
                            <li class=""xm f12px"">
                                    治疗室数:
                            </li>
                            <li class=""con"">
                                    25间
                            </li></ul>";
                Regex reg = new Regex(@"(?is)<li\s*class=(['""\s]?)con\1>(?<text>((?!</?li).)*)");
                MatchCollection match = reg.Matches(str);
                foreach (Match m in match)
                {
                    Response.Write(m.Groups["text"].Value + "<br/>");
                }
    /*
    私立 
    整形科 
    6-8位 
    25间 
    */