欢迎来到天天文库
浏览记录
ID:41996122
大小:944.56 KB
页数:61页
时间:2019-09-06
《正则表达式PPT示例讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UsingRegularExpressionsLectureGoal熟悉Regex的基本语法了解高级概念如何构建、如何使用了解在C#、JavaScript中的完整实现相关技巧资料分享AgendaIntroductionSomenotesaboutRegularExpressionsWhyandwhentouseRegularExpressionsBasicGrammarMatchcharactersSetmatchpositionReplace、RepeatedcharactersOtherCharactersS
2、eniorConceptMatchingPatternsGroup、Replace、ReversequotePrioritylevelorderMethods、IdeasforbuildingRegularExpressionsExamplesAnalysis……AdditionalMattersExperience&SkillsRecommendforlearningQ&AIntroductionSomenotesaboutRegularExpressionsSomenotesaboutRegularExpre
3、ssions起源最早从Unix中的qed编辑器,并作为文本编辑和搜索工具中一个重要部分直到现在,属于Unix下专利,尤其是Perl中应用,NET中Regex从Perl中衍生而来简单定义?简写为Regexes,描述了一种字符串匹配的模式,检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。也即是一串特殊的字符,转换为某种算法,根据这个算法来匹配文本(类似通配符、SQL中的%、词法语法分析)。字符串、文本处理相关VS、Delphi、Java、JavaScriptetc等工具、语言中对
4、string的操作也都是最主要的方面,文本的操作也几乎无处不在,在考虑效率、性能时,正则的选择是很有必要的复杂度、可读性?Regexes有自己的简单语言,用于精确描述要匹配对象,一行表达式代替众多的编码,但创建复杂,含义含糊,可读性差,与Perl等成功的语言相同,但习惯后正则表达式将非常容易使用。SomenotesaboutRegularExpressions在不同工具、语言中的对比JavaScript、VBScript、Perl、PHP、JAVA、.NETetc.差别不是很大语法:细微差别(RegExp())在
5、VBScript中使用正则表达式的效率更高,它允许在单个表达式中执行多个字符串操作。PHP继承UNIX的一贯传统,完全支持正规表达式处理PERL中的正规表达式的功能非常强大,很多讲解Regexs技术都会有涉及到PERL中的相关使用,但学起来不是那么容易。IntroductionWhyandwhentouseRegularExpressionsWhyandwhentouseRegularExpressions作用模式匹配(对符合匹配项或模式组的特定串进行匹配、查找)替换效率(不同于通常的大量数组、函数实现,且容易出
6、错)1、数据验证——测试输入的字符串,是否符合一定的规则,是否允许输入Email地址合法性、网址、电话号码、出生年月等等验证DEMO2、替换文本——可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本或字符替换。在某些情况下,需要对一些特殊的字符进行替换,例如“’”“”之类的特殊字符,这时我们可以使用正则表达式来进行替换,而不必对每一个特殊字符使用Replace替换。ex:文章排版(添加空格、Tab等缩进DEMO)、结合编辑器批量处理(在QCode中除错……)3、提取子字符串——基于模式匹配,
7、可以查找文档内或输入域内特定的文本,也是正则中最常用的一部分,在涉及替换操作时往往都需要先提取。例如:我们常常会听到,我想提取到其中的XX内容、关键信息,想得到XX的一个参数属性值,又或是想判断用户提交的表单中是否存有相关信息(首页显示图片新闻、文字新闻的判断实现方式?)常见的提取形式:URL分析YearMonth、文章采集、搜索引擎的高亮显示等等。DEMO1DEMO2WhyandwhentouseRegularExpressionsBasicGrammarMatchdifferentcharactersMatc
8、hdifferentcharacters普通字符正则表达式的最简单形式是在搜索字符串中匹配其本身的单个普通字符。例如,单字符模式,如A,不论出现在搜索字符串中的何处,它总是匹配字母A。下面是一些单字符正则表达式模式的示例:/a//7//M/。可以将许多单字符组合起来以形成大的表达式。例如,以下正则表达式组合了单字符表达式:a、7和M,/a7M/注意:作为普通字符,没有串联
此文档下载收益归作者所有