2

我正在使用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 ..........
4

1 回答 1

0

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

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

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

于 2012-10-20T16:36:13.030 回答