我从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)/
答案 0 :(得分: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+/)