




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Using Regular Expressions,Lecture Goal,熟悉Regex的基本语法 了解高级概念 如何构建、如何使用 了解在C#、JavaScript中的完整实现 相关技巧 资料分享,Agenda,Introduction Some notes about Regular Expressions Why and when to use Regular Expressions Basic Grammar Match characters Set match position Replace 、Repeated characters Other Characters Senio
2、r Concept Matching Patterns Group、Replace、Reverse quote Priority level order Methods、Ideas for building Regular Expressions Examples Analysis Additional Matters Experience Console.WriteLine(myRegex.IsMatch(带检验文本); 、Other Functions IsMatch()检测是否匹配当前规则的串 Replace()静态,用指定的字符代替一个匹配模式,有十种变体 Matches Split
3、Escape对串中的正则式进行转义处理,How to build Regular Expressions,Match类和MatchCollection类 利用这两个类,可获得通过一个正则表达式实现的每一次匹配的细节,Match类表示一次匹配,而MatchCollection类,是一个Match对象的集合,其中没一个对象都代表一次成功的匹配。需要这两个类方法来检索匹配。 Group和GroupCollection类 将上面的字符子串作为子集合对象(组形成的对象),Examples Analysis,Simple demo,Simple demo,1、验证jpg,jpeg,gif,bmp格式的文件
4、名,大小写均可? DEMO 2、验证15位、17位、18位身份证号码? 15位数字(d15) 18位数字(d18) 18位(前17位数字,后可为字母X) (d17x) DEMO 3、字符串过滤的换向思维 DEMO 4、结尾不为”/”的多种写法? /、(?!/)、。$ 5、取中间值的几种写法? sdfsfsdf(fdsfds)fdsfdsf (.*?)、(?=().*?(?=),Simple demo,6、提取HTML代码中的对应标签 DEMO 7、匹配日期 (?d1,2)/(?d1,2)/(?(?:d4|d2) 2/31/2006? 8、URL (?w+):/(?w.+/?)S*(?x) (=
5、s*?|)(https?|ftp|gopher|news|telnet|mms|rtsp):/(a-z0-9/-_+=.!%?#%&;:$()|+) VS.NET自带的正则,Simple demo,9、IP的另类验证实现 (d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5) 10、电话号码(区号提取) (0512) 68078800-6852 (?d3,4)s*(?d7,8(?:-|s*)d4)(?x),Simple demo,11、乱码提取 如何将国家高技术研究发
6、展计划(86.08-25 写成正则表达式 其中6486为0-9+, 国家高技术研究发展计划(86.08-25 为? (*id=(?d+)+)?(d.+d-+)? 不一定非要单一的写出每个式子,将其复合到一起,Simple demo,12、判断C#代码有无注释 / / /*/ /*/ (/2,.*n?)?(/1,*1,.*?*1,/1,)?,Simple demo,13、匹配: 9 99 999 999-9 999-99 999-999 (d3-)*d1,3,Examples Analysis,UBB Conversion,UBB Conversion,如何实现UBB编辑器? 添加特定格式的标签
7、 转换为对应效果的HTML DEMO http:/localhost/blog/default.html 1、JS添加B自定义标签,Post到DB 2、正则转换 DEMO 3 、添加显示样式(边框、颜色),Examples Analysis,Match rules for QRule,Match rules for QRule,QRule检测错误解决方法 逐一替换 正则替换处理 (?=+-*/)(+-*/=1,2)(?=+-*/) 上面的表达式将替换所有+、-、*、/等符号,左右两边应为空时的处理,包括双目运算符+= DEMO QRule 检查规范的的匹配规则 DEMO,Additional
8、Matters,Experience & Skills,Experience & Skills,表达式引擎的规则 前面介绍了表达式语法,和引擎匹配的规则,接下来需要牢记一些基本的应用规则。 规则1 规则2 规则3 规则4 规则5 NOTES,Experience & Skills,1、After we know the theory, we just need to have a lot of practices 2、注意转义字符的使用(C#:格式字符串) 3、遇到字符串处理,尽可尝试用表达式来解决 4、实现方法最为重要,构思、寻找共性、分模块完成,匹配日期时的闰年处理规律。1996、2000
9、后两位可整除4,就可而不是都整除,Mybeer 5、在不需要使用贪婪、捕获组存储时尽可不用,影响效率(?:防止存储) 6、专业的表达式不是一下就可写出来的,Experience & Skills,7、没有绝对完美的表达式,可简单的提取,也可复杂、严格的实现,局限与特定的处理不一定要完美,不必充分考虑到所有的情况。 8、表达式在某些时候并不是万能的,巧妙的结合特定的语言环境 9、寻找共性而非写很多式子: update tbTest set name=netsky,sex=男 如果用正则表达式区配 netsky 和 男 解决方法:?(w+)?=(+),非单个对前后进行两次匹配 正则表达式并不适合做
10、复杂的语法/词法分析 不需要写正则的时候,不要强行使用DEMO,Additional Matters,Recommend for learning,Recommend for learning,Books 权威书籍Mastering Regular ExpressionsJeffrey E.F. Friedl C# Text Manipulation String Handling and Regular Expression HandbookFrancois Liger、Craig McQueen、Paul Wilton著 MSDN Perl 5模式匹配 Websites: (Chapter 9 PDF lecture) /,Recommend fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件服务协议书(2025版)
- 数据安全保密协议2025年
- 农机车买卖合同范本2025年
- 水电安装工程清包合同(2025版)
- 郎娟的离婚协议书(2025版)
- 水泥供应合同范本(2025版)
- 施工安全的协议书(2025版)
- 人力资源顾问聘请协议(2025版)
- 2025年滨州上岗证试题及答案
- 视频拍摄协议2025年
- 公交车保洁服务投标方案(技术标)
- 朱熹文公世系通谱
- 员工食堂调查问卷表
- 水务集团有限公司岗位服务规范
- 华为智能会议室解决方案主打胶片
- 汽车运用与维修技术专业人才需求调研报告
- 《小学生C++创意编程》第1单元课件 软件下载安装
- 2022年辽宁阜新市海州区招聘中小学教师39人笔试备考题库及答案解析
- 全国各省市邮编对照表
- YY/T 1665-2019振动叩击排痰机
- 风险分级管控责任清单(桥梁工程)
评论
0/150
提交评论