2

telnetlibを使用してデバイスに telnet 接続しています。デバイスは区切り記号なしで定期的に可変長レコードを返します。

すべてのレコードの先頭に日付と時刻があり、これを区切り記号として使用できます。

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 に答える