资源描述:
《《正则表达式基础》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、五.正则表达式基础1目标为什么要使用正则表达式?正则表达式的语法基础。正则表达式的应用。2先看看以下应用在B/S程序中,经常会出现以下应用:1.校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串.2.校验密码:只能输入6-20个字母、数字、下划线.3.校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”.4.校验合法IP地址。5.检验有效的电子邮件地址。相关的应用实在太多。3试试看varpattern=/^[w-]+(.[w-]+)*@[w-]+(
2、.[w-]+)+$/;varstr=prompt(“请输入你的邮件地址");if(pattern.test(str)){alert("合法的电子邮件地址!");}else{alert("不合法的电子邮件地址!");}4正则表达式概述正则表达式(regularexpression).描述了一种字符串匹配的模式,可以用来检查一个串是否含有某个子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。一个正则表达式就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多
3、个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。5RegExp语法语法1re=/pattern/[flags]或者/expression/或者/^expression$/语法2re=newRegExp("pattern",["flags"])参数re必选项。将要赋值为正则表达式模式的变量名。Pattern必选项。要使用的正则表达式模式。如果使用语法1,用"/"字符分隔模式。如果用语法2,用引号将模式引起来。flags可选项。如果使用语法2要用引号将flag引起来。标志可以组合使用,可用的有:g(全文查找出现的所有patte
4、rn)i(忽略大小写)m(多行查找)6RegExp主要方法rgexp.test(str)返回一个Boolean值,它指出在被查找的字符串中是否存在模式。stringObj.match(rgExp)使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。stringObj.replace(rgExp,replaceText)返回根据正则表达式进行文字替换后的字符串的复制。7元字符-数量词“+”连续出现一次或多次。例:qhit+可能为qhitt,也可能为qhitttt;“*”出现零次或连续多次。例:qhit*可能为qhit,也可能为qhit
5、ttt;“?”连续出现零次或一次。例:qhit?可能为qhit,也可能为qhitt;{n}N次例:qhit{3},为qhittt{n,m}最少N次,最多M次例:qhit{2,4},t最少可以出现2次,最多可能为4次。{n,}最少N次,最多不限例:qhit{2,},t最少可以出现2次,最多无限次。8元字符-预定义字符类预定义字符类s:用于匹配单个空格符,包括tab键和换行符;S:用于匹配除单个空格符之外的所有字符;d:用于匹配从0到9的数字;w:用于匹配字母,数字或下划线字符;W:用于匹配所有与w不匹配的字符;.:用于匹配除换行符之外的所
6、有字符。注:我们可以把s和S以及w和W看作互为逆运算.9元字符-边界匹配器^匹配一个输入或一行的开头/^a/匹配"anA",而不匹配"Ana“$/匹配一个输入或一行的结尾,/a$/匹配"Ana",而不匹配"anA“b匹配一个单词的边界/btom/只能是以tom开头的单词/manb/只能是以man结尾的单词B匹配一个单词的非边界d匹配一个数字字符,等价于[0-9]D匹配一个非数字字符,等价于[^0-9]匹配一个换行符r匹配一个回车符10元字符-其他[]:匹配一个字符,可以使用-表示范围[a-z],[abc],[^ab],[0
7、-9]/[A-Z]/从A到Z范围内任何一个大写字母相匹配。/[a-z]/从a到z范围内任何一个小写字母相匹配。/[0-9]/从0到9范围内任何一个数字相匹配。/([a-z][A-Z][0-9])+/上述正则表达式将会与任何由字母和数字组成的字符串,如“aB0”等相匹配。():和
8、配合使用,用于匹配一个字符串注:在正则表达式中使用“()”把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中在多个不同的模式中任选一个进行匹配的话,可以使用管道符“
9、”。例如:/to
10、too
11、2/,则在to,too,2中任选一个值.11普通字符普通字符由所有
12、那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。最简单的