正则并不适合严格查找子串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则并不适合严格查找子串相关的知识,希望对你有一定的参考价值。
正则表达式带有局限性,适合匹配,不适合查找;
原理:正则匹配到子串后,会从子串的结尾处开始继续匹配
比如“aaaca ”中查找所有“aa”的子串,按理来说应该有2个“aa”子串(01、12);然而,全局正则匹配到01位后,继续从2位开始匹配,就会忽略到12位的子串,所以只会匹配到1个子串
var red = /aa/g; console.log(red.exec("aaaca")); // ["aa", index: 0, input: "aaaca"] console.log(red.exec("aaaca")); // null
解决方式:乖乖用indexOf()吧,不断改变fromIndex
以上是关于正则并不适合严格查找子串的主要内容,如果未能解决你的问题,请参考以下文章
test,exec,match,replace方法区别 正则