正则表达式取ul上面的li的值
正则表达式取ul下面的li的值
远程获取的源代码如下:
我远程取到的数据如上图,我用如下正则取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
<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