收藏 分享(赏)

regExpguide.pptx

上传人:yjrm16270 文档编号:7994216 上传时间:2019-06-02 格式:PPTX 页数:29 大小:156.27KB
下载 相关 举报
regExpguide.pptx_第1页
第1页 / 共29页
regExpguide.pptx_第2页
第2页 / 共29页
regExpguide.pptx_第3页
第3页 / 共29页
regExpguide.pptx_第4页
第4页 / 共29页
regExpguide.pptx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、正则表达式,Tools Daniel He,Chapters,正则表达式介绍 正则表达式的基本语法及规则 正则表达式的进阶概念 正则表达式在Javascript和C#中的应用 Tip & Trick 参考资料及资源链接,正则表达式介绍,正则表达式- 概念:正则表达式用来描述和匹配符合某个句法规则的字符串。 正则表达式支持的语言:JavaScript、VBScript、Perl、PHP、JAVA、.NET etc.,正则表达式介绍,HTML5 业界态度:HTML 5已成为IE 9的核心, 承诺在IE 10中提供全部标准支持Google的在线软件将全部使用HTML 5 技术, 包括Google D

2、oc, Google Reader, Gmail等大量视频网均在计划或部分实现从Flash切换到HTML 5. 例如, Youtube 正则表达式的使用场合: 验证给定字符串是否符合指定特征,比如验证是否是合法的邮件地址。 用来匹配、查找字符串,从一个长的文本中查找符合指定特征的字符串集 。 用来替换,比普通的替换更强大。,正则表达式基本语法和规则,直接量字符每个字符在正则中的匹配字符,正则表达式基本语法和规则, $ . * + ? = ! : | / ( ) ,在正则表达式中,许多标点符号具有特殊的含义。 $ . * + ? = ! : | / ( ) 如果在正则中按照直接量来使用这些标点符

3、号,必须加转义字符 反斜杠 没有特殊含义的标点符号可以直接使用,如(引号和)。 当你记不清哪些标点呼号需要用反斜杠转义,可以在每个标点符号之前都是用反斜杠。 如匹配字符(dh), 可以用如下正则表达式ah,正则表达式基本语法和规则,字符类一类或一组字符组成字符类可以匹配所包含的任何字符,正则表达式基本语法和规则,例:abc可以和 a,b,c, 中任何一个字符匹配。 abc可以和除去a,b,c,字符意外的任何一个字符匹配 a-z0-9A-Z可以和任何字母数字进行匹配 d可以匹配任何汉字 u4E00-u9FA5可以匹配所有的汉字 sS wW等用来匹配任何字符(不同于.)。 Note:-用来表示一个

4、字符范围,必须该字符在字符集的index是由小到大,a-Z不合法,A-z合法(可参见ASCII字符表),正则表达式基本语法和规则,重复确定字符的匹配次数,正则表达式基本语法和规则,当不加重复标记是表示重复一次等价于1 当使用*或 ?匹配时要注意,由于这些字符可能匹配前面字符的0个实例,所以他们允许什么都不匹配 例:“ 和0个或多个非引号字符匹配。 d3,和三个以上的数字匹配,正则表达式基本语法和规则,匹配位置不是匹配字符串的某个字符,而是匹配字符串的某个位置,正则表达式基本语法和规则,练习题 Email地址验证正则表达式 选出一段话中以原音开头的单词 剔除一段Html里面的input Elem

5、ent(标准格式的Input),正则表达式进阶概念,选择,分组,引用正则语法还包括指定选择项,对子表达式分组和引用前一个子表达式的特殊字符,正则表达式进阶概念,例: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,正则表达式进阶概念,贪婪匹配和非贪婪匹配贪婪匹配(越多

6、越好)“m,n”, “m,”, “?”, “*”, “+”,具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。我们前面介绍的“重复就是”贪婪匹配。非贪婪模式(越少越好)在修饰匹配次数的特殊符号后再加上一个 “?“ 号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的 “不匹配“。,正则表达式进阶概念,例:贪婪模式 var str = “C#JavaPerl“; var reg = /sS*/g; str.match(reg)非贪婪模式 var reg = /sS*?/g;Note: 非贪婪模式是“向后非贪婪”而不是“

7、向前非贪婪” 如正则表达式”a*?b” 匹配” aaaaaaaaaaaaaaaaaaaab” ,并不是指匹配出ab,而是匹配出整个字符串。,正则表达式进阶概念,零宽断言( zero-width assertions )零宽断言判断当前位置的前后字符,是否符合指定的条件,但不匹配前后的字符,是对位置的匹配。,正则表达式进阶概念,例: (?=X)正向断言 s+?(?=ing) 来匹配 having doing listing,会匹配出 hav, do, list(?!X) 正向否定断言 用户密码:要求 1.不能全部是数字2,不能全部是字母3,必须是数字或字母 (?!0-9+$)(?!a-zA-Z+

8、$)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 单行模式整个文本看作一个字符串,只有一个开头,一个

9、结尾。使小数点 “.“ 可以匹配包含换行符(n)在内的任意字符。 3、MULTILINE 多行模式每行都是一个字符串,都有开头和结尾。在指定了 MULTILINE 之后,如果需要仅匹配字符串开始和结束位置,可以使用 A 和 Z,正则表达式进阶概念,练习题,正则表达式在Javascript和C#中的应用,Javascript 通过如下方式创建 re = /pattern/“flags” re = new RegExp(“pattern“,“flags“) Flags可选项常见值: g (全文查找出现的所有pattern) i (忽略大小写) m (多行查找),正则表达式在Javascript和C

10、#中的应用,RegExp对象, 包括以下方法用于匹配exec(): 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组 test(): 返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式 String对象,包括以下用于匹配的方法match():使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 search():返回与正则表达式查找内容匹配的第一个子字符串的位置 Replace():替换相应的正则表达式匹配内容。 Split():使用正则来分割字符串,正则表达式在Javascript和C#中的应用,C#中正则的应用: 1、Namespace Sy

11、stem.Text.RegularExpressions 8个类,正则表达式在Javascript和C#中的应用,可以参考Expresso小工具,它是基于.net framework架构的。,Tip & Trick,Visual Studio中利用正则进行查找: 1)将实例页面的所有input都去掉更多资料参考 http:/ http:/ 5 Canvas 基础,创建 canvas 的方法很简单,只需要在 HTML 页面中添加 元素:,为了能在 JavaScript 中引用元素,最好给元素设置 ID ;也需要给 canvas 设定高度和宽度。,创建好了画布后,让我们来准备画笔。要在画布中绘制图形需要使用 JavaScript 。首先通过 getElementById 函数找到 canvas 元素,然后初始化上下文。之后可以使用上下文 API 绘制各种图形。,颜色、样式和阴影,HTML 5 Canvas API (1),正则表达式参考及资源链接,JavaScript权威指南 Mastering Regular Expressions 正则表达式30分钟入门教程 http:/ http:/ 工具Expressosh-tools-hejunShare2RegEditorsh-tools-dev03C1ToolsRegExp,Thank you,正则表达式基础,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报