Skip to main content
 首页 » 编程设计

python之使用 python 正则表达式的可变长度流记录

2025年05月04日29zhwl

我正在使用 telnetlib远程登录我的设备。 设备返回不定界符的变长记录。

每条记录的开头都有一个日期和时间,我可以将其用作分隔符。

如何使用 Telnet.expect(list[, timeout])分隔记录。

示例流:

10/20/12_17:58:24 TEXT TEXT TEXT TEXT .......... 
                  TEXT TEXT TEXT TEXT .......... 
                  TEXT TEXT TEXTTEXT .......... 
                  TEXT TEXT TEXTTEXT .......... 
 
10/20/12_17:58:28  TEXT TEXT TEXTTEXT .......... 
     TEXT TEXT TEXTTEXT .......... TEXT TEXT TEXTTEXT .......... TEXT TEXT TEXTTEXT .. 
 
10/20/12_17:58:34  TEXT TEXT TEXTTEXT .......... 
                 TEXT TEXT TEXTTEXT .......... 
                 TEXT TEXT TEXTTEXT .......... 
 
10/20/12_17:59:25  TEXT TEXT TEXTTEXT .......... 
      TEXT TEXT TEXTTEXT .......... 

请您参考如下方法:

似乎每一行都以空格开头,如果它不是记录的第一行的话。

如果正确,则使用正则表达式模式 ^(?!\s) 或 [\n\r](?!\s) 作为分隔符。

如果不正确,则使用正则表达式模式作为分隔符 ^(?=\d+\/\d+\/\d+_\d+:\d+:\d+\s)或 [\n\r](?=\d+\/\d+\/\d+_\d+:\d+:\d+\s)