0

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

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)/
4

1 回答 1

1

您可能会使用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+/)

于 2018-02-06T18:10:29.560 回答