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

求一正则表达式,可以匹配两种格式
内容如下:
HTML code

                    <td align="center" width="86" style="font-size:12px;" rowspan="1" bgcolor="#d2691e"><span class='f12a6'>■</span><a>1单元-2302</a></td>
                    <td align="center" width="86" style="font-size:12px;" rowspan="1" bgcolor="#33CC00"><span class='f12a6'>■</span><a href="www.web1.com">1单元-2303</a></td>
                    <td align="center" width="86" style="font-size:12px;" rowspan="1" bgcolor="#d2691e"><span class='f12a6'>■</span><a>1单元-2301</a></td>
                    <td align="center" width="86" style="font-size:12px;" rowspan="1" bgcolor="#33CC00"><span class='f12a6'>■</span><a href="www.web2.com">2单元-2301</a></td>
                    



需要一个正则表达式,匹配出来的结果是:(就是说有url地址的就匹配地址,没有的话就空)

单元 url地址
1单元-2302
1单元-2303 www.web1.com
1单元-2301  
2单元-2301 www.web2.com


------解决方案--------------------
C# code
        MatchCollection matches = Regex.Matches("", @"(?is)<td[^>]+><span[^>]+>[^<>]*</span><a(?:\s*href=""(?<href>.+?)"")?>(?<value>[^>]+)</a></td>");
        foreach (Match match in matches)
        {
            Response.Write(match.Groups["value"].Value + "<br/>");
            Response.Write(match.Groups["href"].Value + "<br/><br/>");
        }