ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:108.92KB ,
资源ID:6048963      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6048963.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#正则表达式快速入门.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C#正则表达式快速入门.docx

1、C#正则表达式快速入门内容1. 什么是正则表达式2. 涉及的基本的类3. 正则表达式基础知识4. 构建表达式基本方法5. 编写一个检验程序6. 参考资料正文对于初学者看到类似“w+w+.w1,3”这样复杂没有规律的字符,就会莫名产生一种恐惧感。其实正则表达式和字符串(String)的使用同样非常简单。下面让我们逐步地走进正则表达式的世界!什么是正则表达式正则表达式是用来检验和操作字符串的强大工具。简单的理解正则表达式可以认为是一种特殊的验证字符串。正则表达式常见运用是验证用户输入信息格式,比如上面的那组“w1,w1,.w1”,实际上就是验证邮件地址是否合法的;当然正则表达式不仅仅是用于验证,可

2、以说只要运用字符串的地方都可以使用正则表达式;涉及的基本的类正则表达式在英文中写作(Regular Expression),根据正则表达式的使用范围和单词意思,.NET将其命名空间设置为System.Text.RegularExpressions;在该命名空间内包括了8个基本的类:Capture、CaptureCollection、Group、GroupCollection、Match、MatchCollection、Regex和RegexCompilationInfo如图所示;图1 MSDN Library中正则表达式命名空间Capture用于单个表达式捕获结果CaptureCollecti

3、on用于一个序列进行字符串捕获Group表示单个捕获的结果GroupCollection表示捕获组的集会Match表示匹配单个正则表达式结果MatchCollection表示通过迭代方式应用正则表达式到字符串中Regex表示不可变的正则表达式RegexCompilationInfo将编译正则表达式需要提供信息注意本文属于初学正则表达式的入门文章,对于高级的分组(Group)及其涉及语法等在这里不做介绍;正则表达式基础知识 基本语法在正则表达式中拥有一套自己的语法规则,常见语法包括;字符匹配、重复匹配、字符定位、转义匹配和其他高级语法(字符分组、字符替换和字符决策);字符匹配语法:字符语法语法解

4、释语法例子d匹配数字(09)d匹配8,不匹配12;D匹配非数字D匹配c,不匹配3;w匹配任意单字符ww 匹配A3,不匹配3;W匹配非单字符W匹配,不匹配c;s匹配空白字符dsd匹配3 d,不匹配abc;S匹配非空字符SSS匹配A#4,不匹配3 d;.匹配任意字符.匹配A$ 5,不匹配换行;匹配括号中任意字符b-d匹配b、c、d, 不匹配e;匹配非括号字符b-z匹配a,不匹配b-z的字符;重复匹配语法:重复语法语法解释语法例子n匹配n次字符d3匹配ddd,不匹配dd或ddddn,匹配n次和n次以上w2匹配ww和www以上,不匹配wn,m匹配n次上m次下s1,3匹配s,ss,sss,不匹配ssss

5、?匹配0或1次5?匹配5或0,不匹配非5和0+匹配一次或多次S+匹配一个以上S,不匹配非一个以上S*匹配0次以上W*匹配0以上W,不匹配非N*W字符定位语法:重复语法语法解释语法例子定位后面模式开始位置$前面模式位于字符串末端A前面模式开始位置z前面模式结束位置Z前面模式结束位置(换行前)b匹配一个单词边界B匹配一个非单词边界转义匹配语法:转义语法涉及字符(语法解释)语法例子“”+实际字符 . * + ? | ( ) $ 例如:匹配字符“”n匹配换行r匹配回车t匹配水平制表符v匹配垂直制表符f匹配换页nnn匹配一个8进制ASCIIxnn匹配一个16进制ASCIIunnnn匹配4个16进制的Un

6、iode c+大写字母匹配Ctrl-大写字母例如:cS-匹配Ctrl+S 构造正则表达的方法构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()、Replace()、Split()和Match的类;(1) IsMatch()方法;IsMatch()方法实际上是一个返回Bool值得方法,如果测试字符满足正则表达式返回True否则返回False;例;判断是非成都地区电话号码合法;分析:成都地区电话号码组成028*,前面为固定区号028,后面满足8位数字;设计正则表达式:028d8(解释:028区号固定,后面为8个数字d组成);程序代码,如图2所示:图2 “例1” IsMat

7、ch方法是用例(2) Replace()方法;Replace()方法实际上是一种替换的方法,替换匹配正则表达式匹配模式;例2:在发布带有公开电子邮件地址的文章时,替换位AT避免产生垃圾邮件;分析:首先需要判断文章中电子邮箱地址,然后执行替换设计正则表达式:判断电子邮箱表达式”w1,w1,.”;程序代码:如图3所示;图3 “例2”Replace方法是用例(3) Split()方法;Split()方法实际上是拆分的方法,根据匹配正则表达式进行拆分储存在字符串数组中;例3:从群发邮件地址中读取所有邮件地址;分析:群发邮件采用“;”作为分割符,需要通过“;”进行拆分程序代码:如图4所示;图4 “例3”

8、Split方法是用例构建表达式基本方法构造Regex对象的构造函数包括两个重载,一个是不含参数的构造、另外一个是含有参数的构造函数; 基本形式Regex(string pattern); 重载形式Regex(string pattern,RegexOptions);补充:RegexOptions属于枚举类型,包括IgnoreCase(忽略大小写)、ReghtToLeft(从右向左)、None(默认)、CultureInvariant(忽略区域)、Multline(多行模式)和SingleLine(单行模式);例4,建立一个合法ISBN验证格式;分析:ISBN格式为X-XXXXX-XXX-X;正

9、则表达式格式:d-d5-d3-d构造该正则表达式函数Regex ISBNRegex = new Regex(表达式,参数为空)详细代码:如图5所示;图5 “例4”构造验证函数是用例编写一个检验程序为了方便自己在学习正则表达式和快速检验自己编写表达式语句是否正确,下面提供一个IsMatch()方法正则表达式验证器编写;1. 打开VS.NET,选择新建项目中的Visual C#项目的Windows应用程序,取名为“Regex_Tools”;2. 然后编写如图6所示的界面图6 正则表达式IsMatch方法验证器3. 4. 然后在该窗体声明中增加正则表达式命名空间声明using System.Text.RegularExpressions;5. 编写下列代码o 编写一段私有的判断参数的方法,如图7所示;图7私有验证参数判断方法o 编写判断按钮的方法,如图8所示;图8 IsMatch验证判断按钮方法 o 编写清空按钮的方法,所有的文本框等于空;6. 编译该程序,一个简单的正则表达式验证器就成功生成了

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1