当前位置:家常菜>百科>科技>正文

js正则表达式用法

人气:255 ℃/2024-09-19 01:52:06

js正则表达式的用法是什么呢?不知道的小伙伴来看看小编今天的分享吧!

1、正则表达式简介:

普通方式:var reg=/表达式/附加参数

附件参数:

g:代表可以进行全局匹配。

i:代表不区分大小写匹配。

m:代表可以进行多行匹配。

上面三个参数,可以任意组合,代表复合含义,当然也可以不加参数。

举例:

var reg=/a*b/;

var reg=/abc+f/g;

构造函数方式:var reg=new RegExp(“表达式”,”附加参数”);

举例:

var reg=new RegExp(“a*b”);

var reg=new RegExp(“abc+f”,”g”);

两者区别:

普通方式中的表达式必须是一个常量字符串,而构造函数中的表达式可以是常量字符串,也可以是一个js变量,例如根据用户的输入来作为表达式参数等等:var reg=new RegExp(document.forms[0].exprfiled.value,”g”);

2、正则表达式的操作:

表达式对象(RegExp)方法:

①exec(str),返回str中与表达式相匹配的第一个字符串,而且以数组的形式表现,当然如果表达式中含有捕捉用的小括号,则返回的数组中也可能含有()中的匹配字符串,例如:

var regx=//d+/;

var rs=regx.exec(“3432ddf53”);

返回的rs值为:{3432}

var regx2=new RegExp(“ab(/d+)c”);

var rs2=regx2.exec(“ab234c44”);

返回的rs值为:{ab234c,234}

另外,如果有多个合适的匹配,则第一次执行exec返回一个第一个匹配,此时继续执行exec,则依次返回第二个第三个匹配。例如:

var regx=/user/d/g;

var rs=regx.exec(“ddduser1dsfuser2dd”);

var rs1=regx.exec(“ddduser1dsfuser2dd”);

则rs的值为{user1},rs的值为{rs2},当然注意regx中的g参数是必须的,否则无论exec执行多少次,都返回第一个匹配。后面还有相关内容涉及到对此想象的解释。

②test(str),判断字符串str是否匹配表达式,返回一个布尔值。例如:

var regx=/user/d+/g;

var flag=regx.test(“user12dd”);

flag的值为true。

String对象方法:

①match(expr),返回与expr相匹配的一个字符串数组,如果没有加参数g,则返回第一个匹配,加入参数g则返回所有的匹配

例子:

var regx=/user/d/g;

var str=“user13userddduser345”;

var rs=str.match(regx);

rs的值为:{user1,user3}

②search(expr),返回字符串中与expr相匹配的第一个匹配的index值。

例子:

var regx=/user/d/g;

var str=“user13userddduser345”;

var rs=str.search(regx);

rs的值为:0

③replace(expr,str),将字符串中匹配expr的部分替换为str。另外在replace方法中,str中可以含有一种变量符号$,格式为$n,代表匹配中被记住的第n的匹配字符串(注意小括号可以记忆匹配)。

例子1:

var regx=/user/d/g;

var str=“user13userddduser345”;

var rs=str.replace(regx,”00”);

rs的值为:003userddd0045

例子2:

var regx=/u(se)r/d/g;

var str=“user13userddduser345”;

var rs=str.replace(regx,”$1”);

rs的值为:se3userdddse45

对于replace(expr,str)方法还要特别注意一点,如果expr是一个表达式对象则会进行全局替换(此时表达式必须附加参数g,否则也只是替换第一个匹配),如果expr是一个字符串对象,则只会替换第一个匹配的部分。

例如:

var regx=“user”

var str=“user13userddduser345”;

var rs=str.replace(regx,”00”);

rs的值为: 0013userddduser345

④split(expr),将字符串以匹配expr的部分做分割,返回一个数组,而且表达式是否附加参数g都没有关系,结果是一样的。

例子:

var regx=/user/d/g;

var str=“user13userddduser345”;

var rs=str.split(regx);

rs的值为:{3userddd,45}

  • 空气悬挂坏了还能开吗

    空气悬架坏了是可以正常行驶的,就是无法升高和降低了,所以出现这种情况后建议车友们立即维修。空气悬架在一般的汽车上是见不到的,只有一些高端豪华轿车或高端豪华suv上才会配备空气悬...

    问答查看全文>>
  • h2s用的什么轮胎?

    h2s用的215、60R17型号的轮胎,哈弗H2s是哈弗品牌最新的一款小型SUV,颜值方面紧跟潮流的步伐,家族式的设计风格精致而又大气,品牌辨识度很高。哈弗h2s主要针对前保险...

    问答查看全文>>
  • 爱情唯美句子简短古朴

    1、待到繁花落尽,与你细水长流。2、既不回头,何必不忘。既然无缘,何须誓言。3、秋来春去,谁怜曲院风荷,韶华白首,不过浮生一阙。4、谁将烟焚散,散了纵横的牵绊;听弦断,断那三千...

    句子查看全文>>
  • 描写古风美女的句子

    1、只见这女子约莫十七八岁年纪,一张瓜子脸,容貌甚美。2、内堂出来一个妇人,身穿淡绿绸衫,约莫三十六七岁左右年纪,容色清秀。3、只见那小姐生的纤巧削细,面凝鹅脂,唇若点樱,眉如...

    句子查看全文>>
  • 最炫性签名

    1、每天把你的牢骚拿出来晒晒太阳,心情就不会缺钙。2、你说女人是衣服兄弟是手足,少年,有本事你别穿衣服跟你的手足出去玩。3、在这个连上厕所都要钱的年代里,没有什么不可能的。4、...

    签名查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2025 家常菜 All Rights Reserved. 手机版