版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1部分第7章正则表达式和网际网络操作,在7.1正则表达式7.2 Windows应用程序中嵌入Web浏览器7.3,通过网际网络搜索网络资源,7.1正则表达式,正则表达式提供灵活高效的文本字符串处理方法。 正则表达式的完整模式匹配表示法允许程序设计师快速分析大量文本以查找特定的字符模式。还可以将提取、编辑、替换或删除的文本子字符串添加到集合中。 正则表达式是许多处理字符串的应用程序不可或缺的工具。 7.1.1正则表达式的概要、正则表达式:在某种模式下使指定字符串一致的表达式。 正则表达式由普通字符和元字符组成。 普通文字:文字、数字、中国字等。 元字符:可以匹配特定字符格式的具有特殊意义的字符,
2、类似于DOS命令中使用的直通功能。7.1.1正则表达式介绍(续)、1 .正则表达式的基本表达式、7.1.1正则表达式介绍(续)、2 .将正则表达式的限定子选项数的数据添加到正则表达式中。 下表为常用限定符:7.1 (2)如果字符串与字符定径套中的任何字符相匹配,则会找到该匹配。7.1.1正则表达式简介(续)、正则表达式中的部分匹配字符定径套、7.1.1正则表达式简介(续)、4 .组结构、常用组结构形式、7.1.1正则表达式简介(续)、d $”字母串:“A-Za-z $”字母数字串:“A-Za-z $” 7.1.2 Regex类Regex类可在System.Text.RegularExpress
3、ions名字空间下找到。 常用方法。 IsMatch方法:正则表达式是否与输入字符串匹配。 匹配方法:查找下一个匹配项。 Matchs方法:查找所有匹配项。 创建7.1.2 Regex类(续)和【示例7-1】windows应用程序,输入正则表达式和字符串,并确保该字符串包含与正则表达式匹配的内容。 privatevoidbuttonvalidation _ click (对象发送器,事件)组合框1.items.clear (); regex r=空值; tryr=new regex (textboxvalidatestring.text ):catch (exception err ) mes
4、sagebox.show (err.message,正则表达式格式不正确); 返回; 我们有if (r.ismatch (textboxvalidatedstring.text )=true ) textbox ismatch.text=匹配。 else textBoxIsMatch.Text=没有匹配项。 matchmymatch=r.match (textboxvalidatedstring.text ); 我的匹配. success组合框1.items.add (我的匹配. groups0. value )。 my匹配=my匹配. next匹配(); privatevoidtextbox
5、validatedstring _ enter (对象发送器,事件)文本框ismatch.clear (); comboBox1.Items.Clear (); privatevoidtextboxvalidatestring _ enter (对象发送器,事件)文本框匹配. clear (); comboBox1.Items.Clear (); 7.1.3 Match和Match类表示正则表达式的下一个匹配结果,结果是只读的。 例如: Regex r=new Regex(abc ); 匹配m=r .匹配(123 ABC 456 ); if (m.success )控制台. writeline
6、 (找到匹配的位置: m .索引); 找到匹配结果: m.Value; 执行结果:找到匹配项: 3找到匹配结果: abc、7.1.4匹配收集类和匹配收集类表示成功的非重复匹配集合,得到的集合是只读的。例如: Regex r=new Regex(abc ); matchcollectionmc=r.matches (123 ABC4ABCD ); int计数=MC.count; 字符串结果=新字符串计数; 新匹配位置=新计数; for (英寸=0; I计数; I )结果=MCI .值; matchpositioni=MCI .索引; Console.WriteLine第二个匹配结果: 1,位置:
7、 2,i 1,结果,匹配; 执行结果:第1个匹配结果: abc,位置:第3个匹配结果: abc,位置: 7,【例7-2】制作windows应用程序,使用正则表达式验证用户注册信息是否符合要求。 privatevoidtextboxname _ textchanged (对象发送器,事件)标签名称.可见性=! regex.ismatch (文本框名称. text,u4e00-u9fa52,$ ); 通过更改textBoxAge.Text属性值启动的关上通告字privatevoidtextboxage _ textchanged (对象发送器,事件)标签age.visible=regex.isma
8、tch (teex 更改textBoxPassword.Text属性值后启动的关上通告字privatevoidtextboxpassword _ textchanged (对象发送器,事件)标签密码regex.ismatch 喀呖声/【ok】按钮后触发的上通告privatevoidbuttonok _ click (object sender,eventargs e ) if (label name.visible| label age.visible|标签路径messagebox.she else messagebox.show (注册验证成功,MessageBoxButtons.OK,Me
9、ssageBoxIcon.Warning ); 7.1.5 Group类和Group类表示单个捕获组的结果。 如果匹配正则表达式的子字符串具有多个组,则可以使用该类来获得组的结果。 在7.2 Windows应用程序中嵌入Web浏览器,Web浏览器特罗尔在Windows表单客户端应用程序中查看网页,复制应用程序的Internet Explorer Web浏览功能, 禁用默认奥尔特的Internet Explorer功能,并在喀呖声简单的HTML和/牛鼻子时调用privatevoidtextbox1_ keydown (对象发送器,密钥事件)/enter牛鼻子隐私视图(字符串地址) if (字符串
10、. isnullorempty (地址) )返回。 if (地址.空白(about :空白) )返回。 国际货币基金组织address.starts with (http:/) )地址=3358地址。 try webbrowser1. navigate (新uri (地址) ):catch (系统. uriformatexception )返回; 喀呖声/【网络链接】按钮启动的上通告privatevoidbuttongo _ click (对象发送器, 喀呖声“eventargs e”navigate (textbox1. text ) /“our”按钮启动的“privatevoidbutto
11、ngoback _ click (对象发送器,事件)”webbrowser1.” 私人演示文件夹(对象发送器、事件) webbrowser1. go正向(); privatevoidbuttonrefresh _ click (对象发送器,事件) webbrowser1. refresh (); /发生导航仪表时输入触发器(表示实际网络链接的URL) /例如textBox1.Text,导航仪表时输入privatevoidwebbrowser1_ navigated (对象发送器, webbbrowser ),通过7.3网际网络搜索网络资源时,WebClient类在System.Net名称空间下
12、的WebClient类中将数据发送到由URI标识的本地、企业内部互联网或互联网资源有两种从网站上下载文件的方法。 1 .直接保存为本地文件2 .用流读取的方法因情况而异。通过7.3网际网络检索网络资源(续) DownloadFile方法有两个残奥参数: URI和本地存储路径。示例: webclientmywebclient=new webclient (); my webclient.downloadfile (c :测试. htm ); OpenRead方法此方法返回流引用,并使用系统. net; using System.IO;7.4网际网络搜索网络资源(续)、webclient webc
13、lient=new webclient (); stream mystream=webclient.openread (); 流式读取器Sr=新流式读取器(mystream ); 字符串源=Sr.read to end (); DownloadString方法直接读取包含web原代码的字符串内容。 例如:使用系统; webclient客户端=新建webclient (); 字符串重放=client.downloadstring (http :/); 控制台写入(reply );通过7.4网际网络检索网络资源(续)、【例7-4】设定简单的检索计程仪程序,读取指定网站的源文件,能够检索正则表达式中包含的超级网络链接和图像。 privatevoidbuttonsearch _ click (对象发送器,事件)列表框链接. items.clear (); listbox图像. items.clear (); picturebox1.图像=空; webbrowser1. URL=新uri (空白: ); richTextBox1.Clear (); 字符串=textbox URL.text.trim (); 字符串http源; 将try /鼠标的形状设定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国人民大学党委宣传部招聘备考题库完整参考答案详解
- 2025年哈尔滨市平房区平房镇卫生院招聘医疗技术、收款工作人员的备考题库有答案详解
- 成都市双流区棠湖小学(南区)2025年秋季学期教师招聘备考题库附答案详解
- 2026年哈尔滨幼儿师范高等专科学校单招职业倾向性考试题库含答案详解(夺分金卷)
- 2026年合肥经济技术职业学院单招职业适应性考试题库及完整答案详解1套
- 中央团校(中国青年政治学院)2026年度高校毕业生公开招聘9人备考题库(含答案详解)
- 2025年派往某高校从事相关辅助性工作岗位招聘备考题库及1套完整答案详解
- 2026年合肥经济技术职业学院单招职业适应性考试题库附答案详解(能力提升)
- 2026年周口理工职业学院单招职业适应性考试题库及完整答案详解
- 2026年周口理工职业学院单招职业技能测试题库及答案详解一套
- 2026年内蒙古建筑职业技术学院单招综合素质考试题库(含答案详解)
- 2026陕煤集团榆林化学有限责任公司招聘(162人)笔试参考题库及答案解析
- 2026年中国城市更新产业深度报告:城中村改造与基础设施升级策略
- 2026内蒙古地质矿产集团有限公司社会招聘65人备考题库带答案详解(预热题)
- 部编人教版六年级下册道德与法治全册教案(完整版)教学设计
- 2025年宁夏事业编考试c类真题及答案
- 低空经济中无人系统商业运营模式创新研究
- 2026年江苏省南京市高职单招数学考试试题及答案
- 腋嗅知识培训课件
- 2026年及未来5年市场数据中国桥梁缆索市场深度分析及投资战略咨询报告
- 班组长煤矿安全培训课件
评论
0/150
提交评论