- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正则表达式(Regular expressions)是一套语法匹配规则,各种语言,如Perl, .Net和Java都有其对应的共享的正则表达式类库。在.Net中,这个类库叫做Regex。简单的说,Regex是从字符窗中查找匹配字符串的应用类。通过Regex,编程人员能够非常方便的从一段数据中提取自己所需要的数据信息。举一个简单的例子,让大家对Regex有个大概的了解:Regex regex = new Regex(@d+); Match m = regex.Match(fox 9212gold); Console.WriteLine(m.Value.ToString()); 结果很明显,regex为我们找到了字符串”fox 9212gold”中的数字字符串,输出结果为”9212” .对Regex有了一个基本的概念之后,我需要告诉你一个非常好的消息,那就是Regex可以为我们做的远不止这么一点点,他是一套功能非常强大语法匹配规则。当然,这里还有一个坏消息等着我们,那就是强大功能的语法规则自然需要大量纷繁复杂的keyword支持,这也为Regex的学习带来了极大的难度。想要真正掌握正则表达式,可不是几个sample能够全部揭示与说明的。
创建一个Regex对象Regex的构造函数有三种,在这里就不讨论默认构造函数了。另外两个构造函数中,一个构造函数接收正则表达式字符串作为入参,另一个以正则表达式字符串和RegexOptions作为入参。如:?Regex regex = new Regex(w+$);Regex regex = new Regex(s+, RegexOptions.IgnoreCase | RegexOptions.Multiline);RegexOptions可以为我们提供一些特殊的帮助,比如IgnoreCase能够在匹配是忽略大小写,Multiline能够调整^和$的意义,改为匹配一行的开头和结尾。上面我们构造了一个正则表达式,只不过我们还没有用它来做任何事情,马上我们就可以通过使用下面的几个方法,实现对字符串对象的操作了。匹配字符串Regex有两个获取匹配的方法Match()和Matches(),分别代表匹配一个,匹配多个结果。这里就用Matches来展示一下怎么使用Regex获取匹配字符串,并将其显示出来。?public static void showMatches(string expression, RegexOptions option, string ms) { Regex regex = new Regex(expression, option); MatchCollection matches = regex.Matches(ms); //show matches Console.WriteLine(////////////////----------------------------------////////////////); Console.WriteLine( string: {0}? expression: {1}? match result is:, ms, expression); foreach(Match m in matches) { Console.WriteLine(match string is: {0}, length: {1},m.Value.ToString(), m.Value.Length); } Console.WriteLine(matched count: {0}, matches.Count); } 方法Matched通过比较入参字符串和正则表达式,找到所有符合的结果,并将结果作为MatchCollection传出来。这样,只要简单的遍历这个collection,就可以很快的获得所有的结果。
组的概念
当你获得这样的一个字符串”最后比分是:19/24”,你肯定希望有一个正则表达式,他不单能够找到形如 data1/data2的字符串,还应该能够直接把data1,data2作为单独的结果传送出来。否则你需要再对形如”19/24”的字符串进行分析,才能够顺利得到双方的比分。显然,正则表达式不会忽略这个问题,所以他增加了组的概念。你可以把一次搜索的结果分别放入不同的组中,并通过组名或者组的索引分别取得这些组的结果。比如上例,我们就可以用@”(\d+)/(\d+)”作为表达式。来看看结果吧:?Regex regex = new Regex(@(d+)/(d+)); MatchCollection matches = regex.Matches(@最后比分是:19/24); //show matc
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)