正则表达式简介论文_庞新法

陕西省委党校文化与科技教研部 陕西 西安 710061

摘 要:本文简述了正则表达式的定义,使用,语法规则,为网页系统的开发及应用奠定一定的基础。

关键词:正则表达式 匹配 查找

一、正则表达式简介

正则表达式(Regular Expression,简称regexp)。是一种描述字符串结构的语法规则。对用户名和密码进行验证。用户名、密码、电子邮箱、手机号码、身份证号码、生日、邮政编码、固定电话,这些特殊字符串的验证在网页注册或者登陆时常会用到。利用正则表达式可以化简验证。正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

本文以查找为例,若在大量的文本中找出符合某个特征的字符串(如手机号码),就将这个特征按照正则表达式的语法写出来,形成一个计算机程序识别的模式(Pattern),然后计算机程序就会根据这个模式到文本中进行匹配,找出符合规则的字符串。

二、定义正则表达式

1.普通方式varreg=/表达式/附加参数

表达式:一个字符串代表了某种规则,可以使用特殊符号代表特殊的规则。

字符类别

附加参数:用来扩展表达式的含义

字符类别

g: 全局匹配;i: 不区分大小写匹配;m: 多行匹配。

2.构造函数方式varreg=new RegExp(“表达式”,“附加参数”)

例子:var reg=/special/;var reg=/special/g;var reg=new RegExp(“special”);var reg=new RegExp(“special”,“g”);

知识点2:正则表达式的两种模式

(1)简单模式。var reg=/china/;var reg=/abc8/。

(2)复合模式。var reg1=/^\w+$/;var reg2=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/。reg1表示一个数字、下划线或字母字符出现一次或多次。reg2表示一个电子邮箱的有效格式。

三、如何使用正则

在开发中,经常需要根据正则匹配模式完成对指定字符串的搜索和匹配。最常用的test、exec、match、search、replace、split6个方法

1.test检查指定的字符串是否存在。var data=”123123”;varreCat=/123/gi;alert(reCat.test(data)); //true

检查字符是否存在,g表示全局匹配,i表示不区分大小写。

2. exec返回查询值。exec( )方法用于在目标字符串中搜索匹配,一次仅返回一个匹配结果。例如:在指定字符串str中搜索abc.varstr=’AbC123abc456’;varreg=/abc/i;//定义正则对象。reg.exec(str);//匹配结果:[“AbC”, index: 0, input:”AbC123abc456”]。String对象中的match( )方法除了可在字符串内检索指定的值外,还可以在目标字符串中根据正则匹配出所有符合要求的内容,匹配成功后将其保存到数组中,匹配失败则返回false。

var data=”123123,213,12312,312,3,Cat,cat,dsfsdfs,”;varreCat=/cat/i;alert(reCat.exec(data));//Cat

3.match得到查询数组。var data=”123123,213,12312,312,3,Cat,cat,dsfsdfs,”;varreCat=/cat/gi;vararrMactches=data.match(reCat)

for (var i=0;i <arrMactches.length; i++)

{alert(arrMactches[i])//Cat cat}

varstr=”It’s is the shorthand of it is”;var reg1=/it/gi;str.match(reg1);// 匹配结果:(2) [“It”,”it”]

var reg2=/^it/gi;str.match(reg2);//匹配结果:[“It”]

var reg3=/s/gi;str.match(reg3);//匹配结果:(4) [“s”, “s”,”s”,”s”]

var reg4=/s$/gi;str.match(reg4);//匹配结果:[“s”]

4.search返回搜索位置类似于indexof。 var data=”123123,213,12312,312,3,Cat,cat,dsfsdfs,”;varreCat=/cat/gi;alert(data.search(reCat));//23

5.replace替换字符,利用正则替换。var data=”123123,213,12312,312,3,Cat,cat,dsfsdfs,”;varreCat=/cat/gi;alert(data.replace(reCat,”libinqq”));

6.split利用正则分割数组。var data=”Mery,Tom,Kitty”;varreCat=/,/;vararrdata=data.split(reCat);for (var i=0; i<arrdata.length; i++)

{alert(arrdata[i]);}

结果是Mery Tom Kitty。

参考文献

[1]张晓雷 网页设计与制作教程[M].北京,电子工业出版社,2014。

[2]缪亮 网页设计基础与上机指导[M].北京,清华大学出版社,2012。

[3]王津涛 网页设计与开发[M].北京,清华大学出版社,2012。

论文作者:庞新法

论文发表刊物:《教育学文摘》2019年10月总第316期

论文发表时间:2019/9/17

标签:;  ;  ;  ;  ;  ;  ;  ;  

正则表达式简介论文_庞新法
下载Doc文档

猜你喜欢