第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查字符串是否匹配

檢查字符串是否匹配

www說(shuō) 2019-04-26 19:19:16
如何查看已記錄IP地址的次數(shù)?我的想法是這樣的192.168.1.254192.168.1.254192.168.1.254192.168.1.254192.168.1.25410.40.89.79對(duì)此192.168.1.254(5)10.40.89.79(1)syslog_2019-05-15.txt看起來(lái)像這樣DROP IN = eth0 OUT = MAC = 38:2c:4a:cb:e2:40:10:e8:78:aa:89:ba:08:00 SRC = 92.53.90.242 DST = 90.149.222.18 LEN = 40 TOS = 0x00 PREC = 0x00 TTL = 243 ID = 37773 PROTO = TCP SPT = 59155 DPT = 1027 SEQ = 1687374236 ACK = 0 WINDOW = 1024 RES = 0x00 SYN URGP = 0 192.168.1.1 5月14日00:01:44 kern警告內(nèi)核DROP IN = eth0 OUT = MAC = 38:2c:4a:cb:e2:40:10:e8:78:aa:89:ba:08:00 SRC = 185.216.140.6 DST = 90.149.222.18 LEN = 40 TOS = 0x00 PREC = 0x00 TTL = 248 ID = 54321 PROTO = TCP SPT = 5碼:var fs = require('fs');fs.readFile('C:/Users/sondr/Desktop/koder/Ip_s?k_syslog/syslog_2019-05-15.txt', 'utf8', function(err, data) {   if (err) throw err; {     //count     var count = 0;     //ReEX     const reg = /\bSRC=([\.0-9]+)\b/g;     while ((m = reg.exec(data))) {       console.log("SRC= " + m[1])       console.log(++count);     }     // DEBUG:     //console.log(data);   }});
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

循環(huán)遍歷IP地址并將地址保存為Object的鍵,如果遍歷Object中已有的IP,則tracker可以獲取其值并將其遞增1或默認(rèn)為1如果它不存在,因?yàn)樗鼘⑹悄愕谝淮斡龅侥莻€(gè)IP。


const data = [

  '192.168.1.254', 

  '192.168.1.254',

  '192.168.1.254', 

  '192.168.1.254', 

  '192.168.1.254',

  '10.40.89.79'

]


const tracker = {}


data.forEach(d => {

  const count = d in tracker ? ++tracker[d] : 1

  tracker[d] = count

})


Object.keys(tracker).forEach(k => console.log(`${k} (${tracker[k]})`))


查看完整回答
反對(duì) 回復(fù) 2019-05-17
?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果我理解正確,你想從字符串中獲取所有ip-adresses然后將它們堆疊(刪除重復(fù)項(xiàng))。所以這個(gè)正則表達(dá)式:


^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$


可以檢查IP地址?,F(xiàn)在使用replace方法,我們可以獲得所有的正則表達(dá)式匹配。然后我們可以遍歷它們并刪除重復(fù)項(xiàng)??纯催@段代碼:


var str = something;

var IPs = [];

str.replace(

    /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gi,

    function(match) {

        IPs[IPs.length] = match;

        return match;

    }

);

var stackedIPs = {};

for (i = 0; i < IPs.length; i++) {

    if (stackedIPs[IPs[i]] == null) {

        stackedIPs[IPs[i]] = 1;

    } else {

        stackedIPs[IPs[i]] = stackedIPs[IPs[i]] + 1;

    }

}

StackedIPs將為您提供如下所示的對(duì)象:


{

    192.168.1.1: 3,

    192.168.1.5: 2,

    ...

}

分配給每個(gè)IP地址的號(hào)碼是找到它的次數(shù)。


查看完整回答
反對(duì) 回復(fù) 2019-05-17
  • 2 回答
  • 0 關(guān)注
  • 591 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)