我想用正则表达式匹配 lo 这个部分,但是出现了一点小问题,求解答

bytes packets errs drop fifo colls carrier compressed lo: 20114 136 0 0 0 0 0 0 20114 136 0 0 0 0 0 0

完整可用代码如下:

exports.info = function() {        // read /proc/net/dev
        var fc = fs.readFileSync('/proc/net/dev','utf8'),
            result = {};        // format file content
        fc = fc.replace(/\s{2,}/g,' ').replace(': ',':').split("\n");        var columnLine = fc[0].split('|');

        fc[0] = columnLine[columnLine.length - 1];
        columnLine[columnLine.length - 1] = fc[0].substring(0, fc[0].search(/(\b\S+\:.*)/g));
        fc[0] = fc[0].substring(fc[0].search(/(\b\S+\:.*)/g));        for(var i=0;i<fc.length;i++) {                if(fc[i]=='') { continue; }                var receiveCols = columnLine[columnLine.length - 2].split(' '),
                    transmitCols = columnLine[columnLine.length - 1].split(' '),
                    tKey = fc[i].substring(0,fc[i].indexOf(':')),
                    tValue = fc[i].substring(fc[i].indexOf(':') + 1).split(' '),
                    tArr = {}, item;                while(item = tValue.shift()) {                        var title = (receiveCols.length>0 ? 'recv' : 'trans') + '_'  + (receiveCols.shift() || transmitCols.shift())
                        tArr[title] = item;
                }

                result[tKey] = tArr;
        }        return result;

}


Smart猫小萌
浏览 216回答 2
2回答

烙印99

如果就问题而论(匹配lo:就可以了),那本人觉得就对此这个问题没必要使用正则。下面给我本人的js代码<script>var&nbsp;str='bytes&nbsp;packets&nbsp;errs&nbsp;drop&nbsp;fifo&nbsp;colls&nbsp;carrier&nbsp;compressed&nbsp;lo:&nbsp;20114&nbsp;136&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;20114&nbsp;136&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;0';var&nbsp;num;var&nbsp;lo;num=str.indexOf('lo:');lo=str.substring(num+3,str.length);alert(lo);</script>

呼如林

/\blo/
打开App,查看更多内容
随时随地看视频慕课网APP