当我运行代码时会产生这些结果。 在^和$之间,如果你可以使用其他变量。
pattern = r'.INFO..+Content'
m = re.compile(pattern,re.S|re.X)
f = open(LOG_FILE)
data = f.read()
print m.search(data).group()
f.close()
现在输出 [INFO] 0408 | 09:50:16.57 | /lib/smtp/smtp.c:670 | [1120794944] [<<收到<<<< (16465.2500)SMTP命令:MAIL FROM:> ^ M
[INFO] 0408| 09:50:16.57| /lib/smtp/smtp.c:670| [1120794944] [>>> SEND >>>]
(16465.2500) SMTP COMMAND : 250 2.1.5 Ok^M
[INFO] 0408| 09:50:16.58| /lib/smtp/smtp.c:670| [1120794944] [<<< RECEIVED <<<]
(16465.2500) SMTP COMMAND : RCPT TO: >^M
[INFO] 0408| 09:50:16.58| /lib/smtp/smtp.c:670| [1120794944] [>>> SEND >>>]
(16465.2500) SMTP COMMAND : 250 2.1.0 Ok^M
Date: Mon, 08 Apr 2013 09:50:19 +0900^M
Sender: +821057033705/TYPE=PLMN^M
From: +821057033705/TYPE=PLMN^M
To: +821046903908/TYPE=PLMN^M
X-Mms-Message-ID: 1Tf48000001^M
X-Mms-Transaction-ID: 1Tf48000001^M
Content-Type: text/plain;charset="UTF-8"^M
Content
答案 0 :(得分:1)
文档(http://docs.python.org/2/library/re.html)状态; re.M
或re.MULTILINE
。
在regex-ing multiline时,可能不再需要遍历文件行:)