您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页正则表达式match的实现

正则表达式match的实现

来源:五一七教育网
"use strict";
String.prototype.match2 = function (re) {
    var initLastIndex = re.lastIndex; //保存正则对象的初始lastIndex
    re.lastIndex = 0; 将其置为0已让exec从头开始匹配
    if (re.global) { // 有g标志,返回所有的匹配(不包含捕获)组成的数组,就算没有匹配的也会返回一个空数组
        var result = [];
        var match;
        while (match = re.exec(this)) {
            result.push(match[0]);
            if (match[0] == '') {
                re.lastIndex++; //正则的最后的下标加一
            }
        }
        re.lastIndex = initLastIndex; // 还原re原来的值
        return result;
    }
    else { //没有G标志的情况下,返回字符串的第一个匹配
        var match = re.exec(this); //将匹配的结果拿到
        re.lastIndex = initLastIndex; // 还原re原来的值
        return match; //再将结果返回  可能是空可以可能返回一个数组
    }
};

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务