RegExp.prototype.exec()

1. 前言

exec()方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或null
在设置了globalsticky标志位的情况下(如 /foo/g or /foo/y),JS的RegExp对象是有状态的,每一次exec()都从上一次结束的位置开始向后匹配。

2.语法

regexObj.exec(str)

参数

str:要匹配正则表达式的字符串。

返回值

匹配成功,返回一个数组(包含额外的属性indexinput),并更新正则表达式对象的lastIndex属性。
匹配失败,返回null,并把lastIndex重置为0。

3. 实例

实例一

const reg = RegExp('foo*', 'g')
const str = 'table footable, foosball'
let arr

while (((arr = reg.exec(str)) !== null)) {
    console.log(`Found ${arr[0]}. Next starts at ${reg.lastIndex}.`)
}

注解:

  • *代表前面的字符可以不出现,也可以出现一次或多次

实例二

const reg1 = /quick\s(brown).+?(jumps)/ig
let res = reg1.exec('The Quick Brown Fox Jumps Over The Lazy Dog')
console.log(res)

注解:

  • \s:匹配所有空白符,包括空格、制表符、换页符
  • ():标记一个子表达式开始和结束的位置
  • .:匹配所有除\n之外的任何单字符
  • +:匹配前面的子表达式一次或多次
  • ?:匹配前面的子表达式0次或一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值