欢迎来到天天文库
浏览记录
ID:51646616
大小:527.00 KB
页数:24页
时间:2020-03-27
《《正则表达式》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章正则表达式正则表达式(RegularExpression)是一种用于描述文本规则的代码。正则表达式对象(RegExpObject)提供了对正则表达式操作的支持。10.1正则表达式简介没有使用过正则表达式的读者可能会觉得正则表达式很复杂,事实上,正则表达式并没有想象中的那么复杂。回想一下在Windows操作系统中是怎么查找文件的,如果要想查找所有扩展名为htm的文件,在搜索框中应该输入“*.htm”,搜索结果如图10-1所示。10.2正则表达式语法正则表达式由元字符和普通字符组成。所谓元字符就是类
2、似于“*”、“?”之类的有意义的字符,所谓普通字符就是字符串中常用的字符,如10.1节中的“*.htm”,“*”是元字符,“.htm”是普通字符。将元字符和普通字符放在一对斜杠中(/)中,就可以组成一个正则表达式。10.2.1匹配字符最简单的正则表达式就是字符本身的匹配,这种匹配方法相当于“精确查找”。例如,要查找字符串中是否存在字符“abc”,那么只要将“abc”本身放在两个斜杠中,就形成了一个正则表达式,如以下代码所示:/abc/10.2.2字符类字符类(CharacterClass)在正则表达式中
3、可以代表一系列字符,而不是像10.2.1节那样,只能代表一个字符或一个子字符串。字符类是以中括号作为分界符的,假设要匹配字母A或B或C,那么就可以使用以下正则表达式。/[ABC]/10.2.3界定符假设有一个字符串中的内容为“JavaScript是一种脚本语言,使用JavaScript可以创建动态网页,现在我们开始学习JavaScript”,在这个字符串中,“JavaScript”一共出现了3次,一次是在句首,一次是在句中,一次是在句尾。现在要求匹配句首和句尾的“JavaScript”要怎么办?10.2
4、.4选择符假设要在一个字符串中查找“JavaScript”或“VBScript”,这要如何使用正则表达式来进行匹配呢?在正则表达式中有一个选择符“
5、”,使用这个选择符可以用来匹配多个字符,例如,代码清单10-3中的代码就可以替换“JavaScript”或“VBScript”,运行结果如图10-3所示。10.2.5重复类字符类都只能匹配一个字符,例如,“[0-9]”只能匹配数字0至9,如果要匹配10至99,那么就需要使用“[1-9][0-9]”。单纯的这种字符类的重复是比较麻烦的表示法,如果要匹配一个6位
6、的邮政编码,就要将“[0-9]”重复6次;如果要匹配一个18位的身份证号码,就要将“[0-9]”重复18次,这种做法是十分不科学的。10.2.6分组使用重复类可以将前一项重复多次,如正则表达式“/JavaScript?/”可以匹配字符串“JavaScrip”或“JavaScript”,因为重复类“?”说明要将前一项,也就是字符“t”重复0次或1次。假设要匹配字符串“Java”或“JavaScript”,这要怎么实现?10.2.7引用在正则表达式中,会给每一个分组分配一个编号,使用这个编号可以将匹配的内容
7、在正则表达式中作进一步的处理。正则表达式给分组分配的编号方式为,从正则表达式左侧开始,第1个分组的编号为1,第2个分组的编号为2,依此类推。10.2.8其他匹配正则表达式里还有两种匹配方式,这两种匹配方式是选择性的匹配,如以下代码所示:x(?=y)x(?!y)10.2.9匹配规则正则表达式在匹配字符串时,只要遇上可以匹配到的字符串就会停止匹配。如果想在匹配到字符串之后还继续匹配字符串中其他内容,就必须要在正则表达式后加上标志符“g”。10.3正则表达式对象正则表达式对象(RegExpObject)可以提
8、供对正则表达式操作的支持。其中正则表达式对象的方法多用于测试匹配字符串是否匹配,正则表达式对象的属性多用于返回正则表达式中的一些特性。10.3.1正则表达式对象的构造函数使用正则表达式对象的构造函数RegExp()可以定义一个正则表达式对象。RegExp()构造函数的语法代码如下所示:数字对象名=newRegExp(regular[,att])数字对象名=RegExp(regular[,att])10.3.2返回匹配成功的字符串正则表达式对象的exec()方法可以将成功匹配到的字符串放在数组中返回。ex
9、ec()方法的语法代码如下所示:regexp.exec(string)10.3.3测试匹配成功与否正则表达式的test()方法可以用来测试正则表达式匹配是否成功。如果匹配成功则返回true,否则返回false。test()方法的语法代码如下所示:regexp.test(string)10.3.4判断正则表达式中是否存在指定标志正则表达式可以使用i标志来说明匹配时不区分大小写,使用g标志来说明执行全局匹配,使用m标志来说明执行多行匹配。正则表
此文档下载收益归作者所有