在C#中使用正则表达式自动匹配并获取所需要的数据

正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等)。正则表达式功能强大,使用灵活,C#,Java,JavaScript等多种语言都支持正则表达式。在互联网上“抓取数据”更是少不了使用正则表达式。今天我要说的是在C#中使用正则表达式自动匹配并获取所需要的数据。

从下面是某个IP查询网站返回查询结果的一个部分(字符串),现在就是要从这个字符串中获取“查询结果1:”后面的“北京市 网通”。
<td align="center"><ul><li>查询结果1:北京市 网通</li><li>查询结果2:北京市 网通</li><li>查询结果3:北京市 网通</li></ul></td>

C#相关代码如下:
string srcString = "<td align=\"center\"><ul><li>查询结果1:北京市 网通</li><li>查询结果2:北京市 网通</li><li>查询结果3:北京市 网通</li></ul></td>";
// 匹配 "<li>查询结果1:" 与 "</li>" 之间的所有字符的正则表达式
string
 regexStr = "<li>查询结果1:(?<key>.*?)</li>";
Regex r 
= new Regex(regexStr, RegexOptions.None);
Match mc 
= r.Match(srcString);
string dataStr = mc.Groups["key"].Value;

说明:
这里最关键的是设置正则表达式:"<li>查询结果1:(?<key>.*?)</li>"。

字符

描述

<key>

根据key获取由正则表达式匹配的值。

.

匹配除 "\n" 之外的任何单个字符。

*

匹配前面的子表达式零次或多次

?

跟在任何一个其他限制符(*, +, ?, {n}, {n,}, {n,m})后面时,匹配模式是非贪婪的;非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

dataStr 就是我们要得的数据:“北京市 网通”。

相关文章:使用WebClient自动填写并提交ASP.NET页面表单的源代码
             使用WebClient自动填写并提交ASP.NET页面表单

本文地址:http://www.cnblogs.com/anjou/archive/2007/03/20/681744.html

posted on 2007-03-20 23:21 大豆男生 阅读(3742) 评论(9)  编辑 收藏 网摘 所属分类: .NET

评论

#1楼 2007-03-20 23:34 JesseZhao      

你的名字不错哦   回复  引用  查看    

#2楼[楼主] 2007-03-20 23:42 大豆男生      

见笑了   回复  引用  查看    

#3楼 2007-03-21 18:17 PureEviL      

nice stuff!   回复  引用  查看    

#4楼 2007-09-07 23:28 急[未注册用户]

请问用WebClient有没有办法获取用aspx写的表单的页面   回复  引用    

#5楼[楼主] 2007-09-08 10:59 大豆男生      

@
当然可以,请参考:
http://www.cnblogs.com/anjou/archive/2007/03/07/667253.html">使用WebClient自动填写并提交ASP.NET页面表单的源代码 和
http://www.cnblogs.com/anjou/archive/2006/12/25/602943.html">使用WebClient自动填写并提交ASP.NET页面表单
  回复  引用  查看    

#6楼 2008-01-31 15:49 石桥头[未注册用户]

呵呵 我写采集器正用得上   回复  引用    

#7楼 2008-02-22 16:22 dddd[未注册用户]

&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041   回复  引用    

#8楼 2008-07-23 10:35 LanceZhang      

--引用--------------------------------------------------
石桥头: 呵呵 我写采集器正用得上
--------------------------------------------------------

呵呵,我也是,谢谢lz分享
  回复  引用  查看    

#9楼[楼主] 2008-07-23 13:06 大豆男生      

@LanceZhang
http://www.cnblogs.com/Emoticons/others/handshake001.gif" alt="" />客气了
  回复  引用  查看    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 681744




相关文章:

相关链接:

导航

公告


励志照亮人生,创业改变命运!

Blog 访问量,点击这里查看如何添加访问计数器。
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

统计

与我联系

搜索

 

常用链接

留言簿

我的标签

随笔分类(117)

随笔档案(121)

收藏夹(137)

我的连接

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜