日期:2014-05-17  浏览次数:21121 次

C#用怎么用正则截取指定class的值?
<ul class="info3">
        <li class="w900">
            <p id="pr1">
                64.233.169.19</p>
            <span class="span_iframe" style='margin-left: 218px;'>9</span></li><li class="w900">
                <p id="pr2">
                    74.125.71.156</p>
                <p style="border: none">
                    <span class="span_iframe" style='margin-left: 218px;'>9</span>
            </li>
        <li class="w900">
            <p id="pr3">
                74.125.153.100</p>
            <p style="border: none">
                <span class="span_iframe" style='margin-left: 218px;'>9</span>
        </li>
        <li class="w900" style="border-bottom: none">
            <p id="pr4">
                64.233.183.152</p>
            <span class="span_iframe" style='margin-left: 218px;'>9</span> </li>
    </ul>

我只要获取到<span class="span_iframe" style='margin-left: 218px;'>9</span>里面的值,
小弟新手,求各位大虾指点
C# 正则 截取 class的值

------解决方案--------------------
对 因为那个在只有一个<span class="span_iframe" style='margin-left:218px;'>9</span>的情况下 是可以的 但是有多个的话 则就乱了。
------解决方案--------------------
string pattern=@"(?is)(?<=<span\s*class=""span_iframe""\s*style='margin-left: 218px;'>)\d+(?=</span>)";
------解决方案--------------------
string regular = @"(?is)(?<=<span\s*class=""span_iframe""\s*style='margin-left: 218px;'>)\d+(?=</span>)";
//截取
Regex re = new Regex(regular, RegexOptions.IgnoreCase);
Match mc = re.Match(strhtml);
Console.WriteLine(mc.Value);