正则表达式处理的基本步骤

1、编译

  当创建一个正则表达式之后,浏览器会对其进行一些列的操作(检测语法、转换成一个本机代码例程(嘿嘿,不明白))。因此在重复多次使用同一个正则表达式时,最好将其赋值给一个变量,从而跳过浏览器的这一系列重复操作。

2、设置起始位置

  字符串的起始位置,或者由正则表达式的lastIndex属性指定的位置。

3、匹配每个正则表达式的字元

  扫描目标文本和正则表达式模板,当一个特定的字元匹配失败时,回到起始位置尝试其它可能的路径

4、匹配成功或者失败

示例:

  /h(ello|appy) hippo/.test("hello there, happy hippo");

  此正则表达式匹配hello hippo或者happy hippo,它首先查找h,发现字符串的第一个字符就是h。接下来尝试匹配子表达式的第一个,也就是ello,结果也成功了。接着又匹配了后面的空格,但是在继续匹配hippo时失败了。于是它回到匹配了第一个h的地方开始尝试匹配第二个分支appy,结果失败了。于是它放弃匹配的第一个h,开始匹配字符串中的下一个h,重复之前的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值