在学习正则表达式时,我们需要明确它的用法是服务于字符串的。从定义上不太好理解它的用途,用简单的话来说就是搜索和切换的时候可以使用。在进行使用前,可以对定义和创建正则表达式的方法进行理解,然后这里会分别列出正则表达式的几种用法,并就其中一种带来实例解析,下面一起看具体内容。
1.定义
正则表达式(regular expression)用来按照“给定模式”匹配文本。常用来匹配Email地址等文本匹配。
创建正则表达式有两种方式:
var regex = /xyz/i; var regex = new RegExp('xyz',i);
上面两种写法是等价的,都新建了一个正则表达式对象。推荐使用前者,因为前者的效率较高、便利且直观。
2.创造方法
有构造函数和字面量两种方法
(1)构造函数
var reg=new RegExp('<%[^%>]+%>','g');
(2)字面量
var reg=/<%[^%>]%>/g;
g: global,全文搜索,默认搜索到第一个结果接停止
i: ingore case,忽略大小写,默认大小写敏感
m: multiple lines,多行搜索(更改^ 和$的含义,使它们分别在任意一行对待行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配)
3.用法
exec:在字符串中执行查找匹配的 RegExp 方法,它返回一个数组(未匹配到则返回 null)
test:在字符串中测试是否匹配的 RegExp 方法,它返回 true 或 false
match:在字符串中执行查找匹配的 String 方法,它返回一个数组,在未匹配到时会返回 null
matchAll:在字符串中执行查找所有匹配的 String 方法,它返回一个迭代器(iterator)
search:在字符串中测试匹配的 String 方法,它返回匹配到的位置索引,或者在失败时返回 -1
replace:在字符串中执行查找匹配的 String 方法,并且使用替换字符串替换掉匹配到的子字符串
split:使用正则表达式或者一个固定字符串分隔一个字符串的String方法,并将分隔后的子字符串存储到数组中
例如:
使用exec方法在一个字符串中查找一个匹配:
const myRe = /d(b+)d/g; const myArray = myRe.exec("cdbbdbsbz");
以上就是js中正则表达式的用法讲解,相信大家已经对正则表达式的概念、创建及用法有了初步的认识,具体用法的展开可以在学习中不断了解。