正则并不适合严格查找子串

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

以上是关于正则并不适合严格查找子串的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 中的严格正则表达式替换

test,exec,match,replace方法区别 正则

正则表达式

新手小白学JAVA 正则表达式 包装类 自动装箱/自动拆箱 BigDecimal

一篇并不对劲的后缀自动机教程

python 正则表达式