正则表达式中test、exec、match的区别介绍及括号的用法

正则表达式中test、exec、match的区别

test() 函数是RegExp对象的方法,参数是字符串,返回值是boolean类型。
exec() 函数是RegExp对象的方法,参数是正则表达式,返回值是数组。
match ()函数是String对象的方法,参数是正则表达式,返回值是数组。

方法描述
test一个在字符串中测试是否匹配的RegExp方法,它返回true或false.
exec一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null ;(指定g:exec下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。)
match一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null; (指定g:match 一次返回所有的结果。)

1、test

返回: Boolean,查找对应的字符串中是否存在模式;

var str = "1a1b1c"; 
var reg = new RegExp("1.", ""); 
console.log(reg.test(str)); // true

结果返回Boolean值,true;
在这里插入图片描述

2、exec

返回:数组, 查找并返回当前的匹配结果,并以数组的形式返回;如果不存在模式,则 arr 为 null,否则 arr 总是一个长度为 1 的数组,其值就是当前匹配项。

var str = "1a1b1c"; 
var reg = new RegExp("1.", "");
console.log(reg.exec(str));  // ['1a', index: 0, input: '1a', groups: undefined]

** arr 还有三个属性:**

  • index 当前匹配项的位置;
  • lastIndex 当前匹配项结束的位置(index + 当前匹配项的长度);
  • input 如上示例中,input 就是 str。
    在这里插入图片描述

参数 g的影响

exec 方法受参数 g 的影响:

不指定参数 g
在这里插入图片描述

指定参数 g
若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。
在这里插入图片描述

3、match

match 是 String 对象的一个方法。
在这里插入图片描述

match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。
二者还有一个不同点,就是对参数 g 的解释。

参数 g的影响

不指定了参数 g
在这里插入图片描述

指定了参数 g
如果指定了参数 g,那么 match 一次返回所有的结果。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值