




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章 正则表达式,12.1 正则表达式及其相关类 12.2 Web信息浏览与搜索,12.1 正则表达式及其相关类,正则表达式提供了灵活高效的处理文本字符串的方法。 正则表达式的全面模式匹配表示法使程序员可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本子字符串;也可以将提取的字符串添加到集合中。 对于处理字符串的许多应用程序而言,正则表达式是不可缺少的工具。,12.1.1 正则表达式简介,正则表达式: 用某种模式去匹配指定字符串的一种表示方式。 正则表达式由普通字符和元字符组成。 普通字符:如字母、数字、汉字等。 元字符:可以匹配某些字符形式的具有特殊含义的字符,其作用类似于DOS命令使用的通配符。,12.1.1 正则表达式简介(续),1. 正则表达式基本书写符号,12.1.1 正则表达式简介(续),2.正则表达式限定符 限定符将可选数量的数据添加到正则表达式,下表为常用限定符:,12.1.1 正则表达式简介(续),12.1.1 正则表达式简介(续),3. 匹配字符集 (1) 匹配字符集是预定义的用于正则表达式中的符号集。 (2) 如果字符串与字符集中的任何一个字符相匹配,它就会找到这个匹配项。,12.1.1 正则表达式简介(续),正则表达式中的部分匹配字符集,12.1.1 正则表达式简介(续),4. 分组构造,常用分组构造形式,12.1.1 正则表达式简介(续),5. 正则表达式举例 (1)至少1个字符:.1, (2)3个“.”句点符号:.3 (3)括号括起来的23个数字构成的字符串:(0-92,3) 其中的反斜杠“”表示转义。 (4)必须包含“ab”的字符串:.0,ab.0, (5)以字母开头,允许包含字母、数字及下划线,长度为516:a-zA-Za-zA-Z0-9_ 5,16 (6)国内电话号码:( d3-| d4-)?( d8| d7) (7)至少3个汉字:u4e00-u9fa53,12.1.2 正则表达式相关类,1.Regex类 Regex 类表示不可变(只读)正则表达式类。 Regex 类在System.Text.RegularExpressions命名空间下。 常用方法。 IsMatch方法:正则表达式在输入字符串中是否找到匹配项。 Match方法:搜索下一个匹配项。 Matchs方法:搜索所有匹配项。,12.1.2 正则表达式相关类,2.Match类 Match类表示正则表达式下一个匹配的结果,得到的结果是只读的。例如: Regex r = new Regex(“abc“); Match m = r.Match(“123abc456“); if (m.Success) Console.WriteLine(“找到匹配位置:“ + m.Index); Console.WriteLine(“找到匹配结果:“ + m.Value); 运行结果: 找到匹配位置:3 找到匹配结果:abc,12.1.2 正则表达式相关类,3.MatchCollection类 MatchCollection类表示成功的非重叠匹配的集合,得到的集合是只读的。例如: Regex r = new Regex(“abc“); MatchCollection mc = r.Matches(“123abc4abcd“); int count = mc.Count; String results = new Stringcount; int matchPosition = new intcount; for (int i = 0; i count; i+) resultsi = mci.Value; matchPositioni = mci.Index; Console.WriteLine(“第0个匹配结果:1,位置:2“,i+1, resultsi, matchPositioni); 运行结果: 第1个匹配结果:abc,位置:3 第2个匹配结果:abc,位置:7,12.1.2 正则表达式相关类,4. Group类 Group类表示单个捕获组的结果。当与正则表达式匹配的 字符串有多组时,可以使用该类得到某一组的结果。,12.1.2 正则表达式相关类,【例12-1】编写一个Windows应用程序,输入某个正则表达式和一个字符串,然后验证该字符串中是否包含与正则表达式匹配的内容。,12.1.2 正则表达式相关类,【例12-2】编写一个Windows应用程序,利用正则表达式验证用户注册信息是否符合要求。,12.2 Web信息浏览与搜索,12.2.1 WebBrower控件 通过此控件可以在 Windows 窗体客户端应用程序中显示网页,复制应用程序中的 Internet Explorer Web 浏览功能,禁用默认的 Internet Explorer 功能,并将该控件用作简单的 HTML 文档查看器等。,12.2.1 WebBrower控件,【例12-3】使用WebBrowser控件创建一个简易浏览器。,12.2.2 利用正则表达式搜索Web资源,WebClient类 在System.Net命名空间下的WebClient类提供向URI标识的任何本地、Intranet或Internet资源发送数据以及从这些资源接收数据的公共方法。 通过此类从Web站点下载文件两种方式: 1. 直接保存为本地文件 2. 通过流进行读取,具体采用哪种方式要视情况而定。,12.2.2 利用正则表达式搜索Web资源,DownloadFile方法 该方法有两个参数:URI和本地保存路径。如: WebClient myWebClient = new WebClient(); myWebClient.DownloadFile(“/zh_cn/“, “C:test.htm“); OpenRead方法 此方法返回一个Stream引用,然后可以从数据流中读取数据,如: using System.Net; using System.IO; ,12.2.2 利用正则表达式搜索Web资源,WebClient webClient = new WebClient(); Stream myStream = webClient.OpenRead(““); StreamReader sr = new StreamReader(myStream); string httpSource = sr.ReadToEnd(); DownloadString方法 直接读取包含网页源代码的字符串内容。例如: using System.Net; WebClient client = new WebClient(); string reply = client.DownloadString(“Http:/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古地质矿产集团第二次招聘工作人员6人备考考试题库附答案解析
- 2025年甘肃省武威市凉州区韩佐镇选聘专业化管理大学生村文书考试参考试题及答案解析
- 2026年中国邮政储蓄银行校园招聘备考考试题库附答案解析
- 2026齐鲁银行校园招聘备考考试题库附答案解析
- 工厂安全培训文稿课件
- 南昌市洪都小学水榭花都校区招聘派遣制教师备考考试题库附答案解析
- 战争与和平纵横谈
- 宇宙探秘之旅
- 幼儿体育课程全方位解析
- 逾期处理咨询方案范文
- 2025至2030中国高纯铝行业发展趋势与行业发展研究与产业战略规划分析评估报告
- 2025年期货从业资格之《期货法律法规》真题附答案详解【巩固】
- 室内装修安全生产培训课件
- 2025租房合同范本下载(可直接打印)
- 《公民意味着什么》课件
- 2025辽宁交投集团所属运营公司招聘30人考试参考题库及答案解析
- 幼儿园各项安全管理制度汇编
- 广西福泰印染有限公司年产全棉针织面料3.6万吨生产项目环境影响报告书
- 【《我国小学生课外培训现状调查及问题和建议浅析》10000字(论文)】
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- 锅炉空预器清洗方案
评论
0/150
提交评论