当前位置 博文首页 > q1424966670的博客:正则g模式下异常

    q1424966670的博客:正则g模式下异常

    作者:[db:作者] 时间:2021-08-27 18:49

    描述:正则g模式下出现true和false交替

    原因:正则表达式中加入g,

    第一次执行返回第一个匹配结果,lastIndex为最后一个匹配到的位置

    再执行返回第二个匹配,依次类推。

    如下图,执行第六次的时候,会从上次的lastIndex开始往后匹配,没有匹配到,lastIndex归为0,会重新从首位匹配

    解决:

    reg.lastIndex = 0; 归零搜索的位置,如下图,每次执行之后,lastIndex重置为0即可

    ?去掉g模式(在指定规则下,^$已经限制首尾规则下,用g模式是画蛇添足)

    直接用正则表达式执行校验,解决思路和第一个方法一致,每次执行完,重置lastIndex

    ?

    cs
    下一篇:没有了