Closed. This question needs to be more focused。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                
                    2年前关闭。
            
        

    

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

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

09-26 01:41