js正则表达式用法
js正则表达式的用法是什么呢?不知道的小伙伴来看看趣谈网小编今天的分享吧!
1、正则表达式简介
普通方式var reg=/表达式/附加参数
附件参数
g代表可以进行全局匹配。
i代表不区分大小写匹配。
m代表可以进行多行匹配。
上面三个参数,可以任意组合,代表复合含义,也可以不加参数。
举例
var reg=/ab/;
var reg=/abc+f/g;
构造函数方式var reg=ne RegExp(“表达式”,”附加参数”);
举例
var reg=ne RegExp(“ab”);
var reg=ne RegExp(“abc+f”,”g”);
两者区别
普通方式中的表达式必须是一个常量字符串,而构造函数中的表达式可以是常量字符串,也可以是一个js变量,例如根据用户的输入来作为表达式参数等等var reg=ne RegExp(document.forms[0].exprfiled.value,”g”);
2、正则表达式的操作
表达式对象(RegExp)方法
①exec(str),返回str中与表达式相匹配的第一个字符串,而且以数组的形式表现,如果表达式中含有捕捉用的小括号,则返回的数组中也可能含有()中的匹配字符串,例如
var regx=//d+/;
var rs=regx.exec(“3432ddf53”);
返回的rs值为{3432}
var regx2=ne 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}
以上就是趣谈网小编今天的分享了,希望可以帮助到大家。
怪事奇闻
- 全球奇闻异事未解之谜网 世界奇闻网
- 全球奇闻异事未解之谜 全球奇闻异事未解之谜在
- 全球公认的十大灵异事件 震惊全球十大灵异事件
- 全国真实灵异事件 全国真实灵异事件最新
- 亲身经历的真实灵异事件 经历的灵异事件绝对真
- 亲身经历的真实灵异故事 亲身经历的真实灵异故
- 乔四爷玩过的女人 乔四爷原名
- 敲门一般敲几下是鬼 敲门一般敲几下是鬼是真的
- 起死回生的主人公是谁 起死回生的典故主人公
- 奇闻异事文案素材1000例 民间故事奇闻异事
- 每日趣闻趣事新闻 新闻趣事日记
- 每日奇闻趣事小故事 奇闻趣事2021
- 罗布泊双鱼玉佩事件 罗布泊双鱼玉佩事件潜艇什
- 柳岩婚礼发生了什么 柳岩参加婚礼事件
- 刘伯温预言难过猪鼠年 刘伯温预言准吗
- 灵异之校园鬼魂 灵异之校园鬼魂小说