用正则表达式分析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+/)
我从思科交换机获得了有关端口的信息。 我通过交换机上的命令获取信息。
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+/)