首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

正则表达式取ul上面的li的值

2012-11-14 
正则表达式取ul下面的li的值远程获取的源代码如下:C# codeul class\listnew\\r\n \r\n li\r\n a h

正则表达式取ul下面的li的值
远程获取的源代码如下:

C# code
<ul class=\"listnew\">\r\n \r\n <li>\r\n <a href=\"html/2012-10-30/85775.shtml\" target=\"_blank\">建筑学专业办学30周年庆典举行[<font color=red>图</font>]</a>\r\n <font color=\"#aaaaaa\">2012-10-30</font></li>\r\n \r\n <li>\r\n <a href=\"html/2012-10-29/85761.shtml\" target=\"_blank\">舟山市代表团来校访问[<font color=red>图</font>]</a>\r\n <font color=\"#aaaaaa\">2012-10-29</font></li>\r\n  \r\n <li>\r\n <a href=\"html/2012-10-29/85760.shtml\" target=\"_blank\">我校与西电集团共建国家级工程实践教育中心[<font color=red>图</font>]</a>\r\n <font color=\"#aaaaaa\">2012-10-29</font></li>\r\n \r\n <li>\r\n <a href=\"html/2012-10-26/85722.shtml\" target=\"_blank\">我校新添一项2012年国家社科基金重大项目</a>\r\n <font color=\"#aaaaaa\">2012-10-26</font></li>\r\n \r\n</ul>


我远程取到的数据如上图,我用如下正则取LI的值,
Regex GetLi =new Regex(@"<li><a href=""html/2012-10-29/85761.shtml"" target=""_blank"">(?<item1>[^/]+)</a><font color=""#aaaaaa"">(?<item2>[^/]+)</font></li>");
 
但我一条都取不到。我想达到的效果是取到li的文字,url,li里面的两个font里面的值
 
拿第一条为例
 
<li><a href=\"html/2012-10-30/85775.shtml\" target=\"_blank\">建筑学专业办学30周年庆典举行[<font color=red>图</font>]</a><font color=\"#aaaaaa\">2012-10-30</font></li><li>
 
取到1.html/2012-10-30/85775.shtml 2.建筑学专业办学30周年庆典举行 3.[图] 4.2012-10-30
 
我该如何写这个正则表达式。


[解决办法]
Regex GetLi =new Regex(@"<li><a href=\"(?<url>[^\"]+)\" target=""_blank"">(?<item1>[^\[]+)</a><font color=\"#aaaaaa\">(?<item2>[^<]+)</font></li>");
[解决办法]
C# code
<li><a href=\"html/2012-10-30/85775.shtml\" target=\"_blank\">建筑学专业办学30周年庆典举行[<font color=red>图</font>]</a><font color=\"#aaaaaa\">2012-10-30</font></li><li><a href=\"html/[\d,4]-[\d,2]-[\d,2]/[\d+].shtml\" target=\"_blank\">\w+[<font color=red>\u</font>]</a><font color=\"#aaaaaa\">[\d,4]-[\d,2]-[\d,2]</font></li>
[解决办法]
string pattern=@"<li><a\s*href=""([^""]+?)""\s*target=""_blank"">(.+?)\[<font\s*color=red>(.*?)</font>\]</a><font\s*color=""#aaaaaa"">([^<]+?)</font></li>";
分别取Groups[1].Value,Groups[2].Value,Groups[3].Value,Groups[4].Value

热点排行