js正则文本提取的一些实现

  • 获取时间,叫号号码,工号几个字段
let str = `2022-06-23 08:44:12----信息:开始呼叫,地址:3,工号:103
2022-06-23 08:44:12----信息:呼叫号码:A001,地址:3,工号:103
2022-06-23 08:47:28----信息:开始呼叫,地址:3,工号:103
2022-06-23 08:47:28----信息:呼叫号码:A002,地址:3,工号:103
2022-06-23 08:48:34----信息:开始呼叫,地址:2,工号:102
2022-06-23 08:48:34----信息:呼叫号码:A003,地址:2,工号:102
2022-06-23 08:50:10----信息:开始呼叫,地址:4,工号:104
2022-06-23 08:50:11----信息:呼叫号码:A004,地址:4,工号:104
2022-06-23 08:52:05----信息:开始呼叫,地址:5,工号:105
2022-06-23 08:52:06----信息:呼叫号码:A005,地址:5,工号:105
2022-06-23 08:54:07----信息:开始呼叫,地址:2,工号:102
2022-06-23 08:54:08----信息:呼叫号码:A006,地址:2,工号:102
2022-06-23 08:55:16----信息:开始呼叫,地址:4,工号:104
2022-06-23 08:56:30----信息:开始呼叫,地址:4,工号:104
2022-06-23 08:56:30----信息:呼叫号码:A007,地址:4,工号:104
2022-06-23 08:57:16----信息:开始呼叫,地址:3,工号:103`;


//将所有的外连转换成内链跳转
//var exp = /^\d{4}-\d{1,2}-\d{1,2}/; // Y-m-d 日期匹配
//var exp = /^\d{4}-\d{1,2}-\d{1,2}\s\d{2}\:\d{2}\:\d{2}/; // Y-m-d H:i:s 时间匹配
//var exp = /[A-Z]\d{3}/; // 加上以字母开头怎么不行.....????
var exp = /:\d{3}/; // [\n] 换行 不能用换行匹配,最后一个换行匹配不到
var output = matchAll(str, exp);
console.log(output);

function matchAll (data, exp) {
    var regex = exp;
    var Regex = new RegExp(regex, 'mg');
    var Matches = data.match(Regex);
    matchesArray = new Array();
    for (var i in Matches) {
        ngRegex = new RegExp(regex);
        ngMatches = Matches[i].match(ngRegex);
        matchesArray.push(ngMatches);
    }
    return matchesArray;
}
posted @ 2022-06-24 10:07  盘思动  阅读(590)  评论(0编辑  收藏  举报