用正则表达式分析Cisco交换机端口信息

Analysis of information on ports on the Cisco switch with regular expression

我从思科交换机获得了有关端口的信息。 我通过交换机上的命令获取信息。

Show interfac status

我得到了这样的行:

GI1/0/1      1089.22 Office_Name      disabled      88      1000     Full

或:

FA0/1        Big Room                 connected     120     100      Half

我正在尝试使用正则表达式分析数据。 最终结果应该是:

Line[0] = GI1/0/1
Line[1] = 1089.22 Office_Name
Line[2] = disabled
Line[3] = 88
Line[4] = 1000
Line[5] = Full

最好的制作方法是什么?

(我试过这个表达式,但它的工作很糟糕)

/\D+\d+((/\d)+(\.\d+)?)?\s(.*)\s(disabled|connected)\s(.*)\s(10|100|1000)?\s(Full|Half)/

您可以使用 split:

let log = [
'GI1/0/1      1089.22 Office_Name      disabled      88      1000     Full',
'FA0/1        Big Room                 connected     120     100      Half'
]

let chunks = log.map(e => e.split(/\s{2,}/))

console.log(chunks)

如果您的行是制表符分隔的,请使用 split(/\t+/)