regExpguide.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- regExpguide
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012/11/22,#,正则表达式,ToolsDaniel He,正则表达式基础,regular expression,Chapters,正则表达式介绍,正则表达式的基本语法及规则,正则表达式的进阶概念,正则表达式在,Javascript,和,C#,中的应用,Tip&Trick,参考资料及资源链接,正则表达式介绍,正则表达式,-,概念:,正则表达式用来描述和匹配符合某个句法规则的字符串。,正则表达式支持的语言:,JavaScript,、,VBScript,、,Perl,、,PHP,、,JAVA,、,.NET etc.,正则表达式介绍,HTML5,业界态度:,HTML 5,已成为,IE 9,的核心,承诺在,IE 10,中提供全部标准,支持,Google,的在线,软件将全部使用,HTML 5,技术,包括,Google Doc,Google Reader,Gmail,等,大量视频网均在计划或部分实现从,Flash,切换到,HTML 5.,例如,Youtube,正则表达式的使用场合:,验证,给定字符串是否符合指定特征,比如验证是否是合法的邮件地址,。,用来,匹配、查找,字符串,从一个长的文本中查找符合指定特征的字符串集。,用来,替换,,比普通的替换更强大。,正则表达式基本语法和规则,直接量字符,每个字符在正则中的匹配字符,字母数字,字符本身,f,换页符匹配。等效于,x0c,和,cL,n,换行符匹配。等效于,x0a,和,cJ,r,匹配一个回车符。等效于,x0d,和,cM,v,垂直制表符匹配,(,文本竖向时,Tab),。与,x0b,和,cK,等效,t,制表符匹配。与,x09,和,cI,等效,o,NUL,字符,xnn,由十六进制数,nn,指定的,拉丁字符,,例如,,x0A,等价于,n,uxxxx,由十六进制,xxxx,指定的,Unicode,字符,,例如,,u0009,等价于,t,cX,控制字符,X,。例如,,cJ,等价于换行符,n,正则表达式基本语法和规则,$.*+?=!:|/(),在正则表达式中,许多标点符号具有特殊的含义。,$.*+?=!:|/(),如果在正则中按照直接量来使用这些标点符号,必须加转义字符 反斜杠,没有特殊含义的标点符号可以直接使用,如(引号和,)。,当你记不清哪些标点呼号需要用反斜杠转义,可以在每个标点符号之前都是用反斜杠。,如匹配字符,(as1dh),可以用如下正则表达式,ah,正则表达式基本语法和规则,字符,匹配,.,位于括号之内的任意字符,.,不在括号之中的任意字符,.,除换行符和其他,Unicode,行终止符之外的任意字符(除去,nr,),w,任意,ASCII,单字字符,等价于,a-zA-Z0-9_,W,任意非,ASCII,单字字符,等价于,a-zA-Z0-9_,s,任何,Unicode,空白符,S,任何非,Unicode,空白符的字符,注意,w,和,S,不同,d,任意,ASCII,数字,等价于,0-9_,D,除了,ASCII,数字之外的任何字符,等价于,0-9_,b,退格直接量,(,特例,),,因为,b,具有特殊含义,字符类,一类或一组字符组成字符类可以匹配所包含的任何字符,正则表达式基本语法和规则,例:,abc,可以和,a,b,c,中任何一个字符匹配。,abc,可以和除去,a,b,c,字符意外的任何一个字符匹配,a-z0-9A-Z,可以和任何字母数字进行匹配,d,可以匹配任何汉字,u4E00-u9FA5,可以匹配所有的汉字,sS wW,等用来匹配任何字符(不同于,.,)。,Note,:,-,用来表示一个字符范围,必须该字符在字符集的,index,是由小到大,,a-Z,不合法,,A-z,合法(可参见,ASCII,字符表),正则表达式基本语法和规则,字符,含义,n,m,匹配前一项至少,n,次,但是不能超过,m,次,n,匹配前一项,n,次,或更多次,n,匹配前一项恰好,n,次,?,匹配前一项,0,次或,1,次,也就是说前一项是可选。等价于,0,1,+,匹配前一项,1,次或多次,等价于,1,*,匹配前一项,0,次或多次,等价于,0,重复,确定字符的匹配次数,正则表达式基本语法和规则,当不加重复标记是表示重复一次等价于,1,当使用,*,或,?,匹配时要注意,由于这些字符可能匹配前面字符的,0,个实例,所以他们允许什么都不匹配,例:,和,0,个或多个非引号字符匹配。,d3,和三个以上的数字匹配,正则表达式基本语法和规则,匹配位置,不是匹配字符串的某个字符,而是匹配字符串的某个位置,字符,含义,匹配字符串的开头,在多行检索中,匹配一行的开头,$,匹配字符串的结尾,在多行检索中,匹配一行的结尾,b,匹配一个词语的边界。简而言之,就是位于字符,w,和,W,之间的位置,或位于字符,w,和字符串的开头或结尾之间的位置,(,但注意,,b,匹配的是退格符,),B,匹配非词语边界的位置,正则表达式基本语法和规则,练习题,Email,地址验证正则表达式,选出一段话中以原音开头的单词,剔除一段,Html,里面的,input Element,(标准格式的,Input,),正则表达式进阶概念,选择,分组,引用,正则语法还包括指定选择项,对子表达式分组和引用前一个子表达式的特殊字符,字符,含义,|,选择。匹配的是该符号左边的子表达式或右边的子表达式,(.),组合。将几个项目组合为一个单元,这个单元可由*、,+,、,?,和,|,等符号使用,而且还可以记住和这个组合匹配的字符以供此后的引用使用,(?:.),只组合。把项目组合到一个单元,但是不记忆与该组匹配的字符,n,和第,n,个分组第一次匹配的字符相匹配。组是括号中的子表达式,(,可能是嵌套的,),。组号是从左到右计数的左括号数,以,(?:,形式分组的组不编码,正则表达式进阶概念,例:,Java(script)?,可以匹配,Java,或是,Javascript,(ab|cd)a-z*,可以匹配以,ab,或是,cd,开头的单词,注意选择项是从左到有考虑,如,/a|ab/,应用到字符串“,ab,”上时,它只匹配第一个字符,.,选出单词中包括,an,,,en,,或,on,的单词,但是不进行记忆,ba-z*(?:an|en|on)a-z*,选出元音开头的字母,并且以该字母结束的单词。,b(aeiou)a-zA-Z*1,正则表达式进阶概念,贪婪匹配和非贪婪匹配,贪婪匹配(越多越好),“m,n”,“m,”,“?”,“*”,“+”,,具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。我们前面介绍的“重复就是”贪婪匹配。,非贪婪模式(越少越好),在修饰匹配次数的特殊符号后再加上一个,?,号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的,不匹配,。,正则表达式进阶概念,例:,贪婪模式,var str=C#JavaPerl;,var reg=/sS*/g;,str.match(reg),非贪婪模式,var reg=/sS*?/g;,Note,:,非贪婪模式是“向后非贪婪”而不是“向前非贪婪”,如正则表达式,”a*?b”,匹配,”aaaaaaaaaaaaaaaaaaaab”,并不是指匹配出,ab,,而是匹配出整个字符串。,正则表达式进阶概念,(?=exp),断言自身出现的,位置的后面能,匹配表达式,exp,(?=exp),断言自身出现的,位置的前面能,匹配表达式,exp,(JS,不支持,),(?!exp),断言此,位置的后面不能,匹配表达式,exp,(?!exp),断言此,位置的前面不能,匹配表达式,exp,(JS,不支持,),零宽断言(,zero-width assertions,),零宽断言判断当前位置的前后字符,是否符合指定的条件,但不匹配前后的字符,,是对位置的匹配,。,正则表达式进阶概念,例:,(?=X),正向断言,s+?(?=ing),来匹配,having doing listing,,会匹配出,hav,do,list,(?!X),正向否定断言,用户密码:要求,1.,不能全部是数字,2,,不能全部是字母,3,,必须是数字或字母,(?!0-9+$)(?!a-zA-Z+$)0-9A-Za-z8,16$,(?=X),反向断言,(JS,不支持,),(?=hell)a-z+,来匹配,test hellen hellas helloween,,会匹配出,en,as,oween,(?!X),反向否定断言,(JS,不支持,),a-z+(?!hell)en,来匹配,testen hellen hellas helloween,,会匹配出,testen,和,helloween,HTML 5 Canvas,正则表达式的匹配模式,1,、,IGNORECASE,忽略大小写模式,匹配时忽略大小写。,默认情况下,正则表达式是要区分大小写的。,2,、,SINGLELINE,单行模式,整个文本看作一个字符串,只有一个开头,一个结尾。,使小数点,.,可以匹配包含换行符(,n,)在内的任意字符。,3,、,MULTILINE,多行模式,每行都是一个字符串,都有开头和结尾。,在指定了,MULTILINE,之后,如果需要仅匹配字符串开始和结束位置,可以使用,A,和,Z,正则表达式进阶概念,练习题,正则表达式在,Javascript,和,C#,中的应用,Javascript,通过如下方式创建,re=/pattern/“flags”,re=new RegExp(pattern,flags),Flags,可选项常见值:,g,(全文查找出现的所有,pattern,),i,(忽略大小写),m,(多行查找),正则表达式在,Javascript,和,C#,中的应用,RegExp,对象,包括以下方法用于匹配,exec():,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组,test():,返回一个,Boolean,值,它指出在被查找的字符串中是否存在模式,String,对象,包括以下用于匹配的方法,match():,使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回,search():,返回与正则表达式查找内容匹配的第一个子字符串的位置,Replace():,替换相应的正则表达式匹配内容。,Split():,使用正则来分割字符串,正则表达式在,Javascript,和,C#,中的应用,C#,中正则的应用:,1,、,Namespace,System.Text.RegularExpressions 8,个类,类,描述,Regex,包含了正表,以及使用正表的各种方法,MatchCollection,包含一个正表找到的所有匹配项、,Match,序列,Match,包含了一次匹配中所有匹配的结果,GroupCollection,所有分组,Group,一个分组集合中一个组的细节,一次组记录的结果,CaptureCollection,一个组的所有,Capture,对象,Capture,返回组内一次捕获所匹配的字符串,RegexCompilationInfo,提供了把,Regex,编译为一个独立程序集所需的细节,正则表达式在,Javascript,和,C#,中的应用,可以参考,Expresso,小工具,它是基于,.net framework,架构的。,Tip&Trick,Visual Studio,中利用正则进行查找:,1,)将实例页面的所有,input,都去掉,更多资料参考,5 Canvas,基础,创建,canvas,的方法很简单,只需要在,HTML,页面中添加,元素:,为了能在,JavaScript,中引用元素,最好给元素设置,ID,;也需要给,canvas,设定高度和宽度。,创建好了画布后,让我们来准备画笔。要在画布中绘制图形需要使用,JavaScript,。首先通过,getElementById,函数找到,canvas,元素,然后初始化上下文。之后可以使用上下文,API,绘制各种图形。,属性,描述,fillStyle,设置或返回用于填充绘画的颜色、渐变或模式,strokeStyle,设置或返回用于笔触的颜色、渐变或模式,shadowColor,设置或返回用于阴影的颜色,shadowBlur,设置或返回用于阴影的模糊级别,shadowOffsetX,设置或返回阴影距形状的水平距离,shadowOffsetY,设置或返回阴影距形状的垂直距离,颜色、样式和阴影,HTML 5 Canvas API(1),正则表达式参考及资源链接,JavaScript,权威指南,Mastering Regular Expressions,正则表达式,30,分钟入门教程,you,正则表达式基础,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




regExpguide.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13340557.html