【发布时间】:2019-07-16 14:18:05
【问题描述】:
当在数据块中找到关键字时,我想提取/输出一些数据。如何使用正则表达式检索从第一个 '#' 到最后一个 ')' 的所有数据?
//Log_1.txt
# DON'T WANT #
{12345.54321}
[Tues Jul 2 01:23:45 2019]
< SOME_TYPE
(some_ID = [12345] reportChange::someMoreInfo called with invalid some ID)
# DON'T WANT #
{12345.54321}
[Tues Jul 2 01:23:45 2019]
< SOME_TYPE
(some_ID = [12345] failed::someMoreInfo called with invalid some ID)
代码
import re
with open("Log_1.txt", 'r') as f:
result = re.search('#(.*)#', f.read())
print(result.group(0))
这不是我的全部代码,但如果关键字是“reportChange”,输出应该是 >>>
# DON'T WANT #
.
.
.
(some_ID = [12345] reportChange::someMoreInfo called with invalid some ID)
而不是
# DON'T WANT #
【问题讨论】:
-
所以你想要
DON'T WANT.... 似乎是一个不好的评论 -
是的,我现在想要它,但最终不打算拥有它。 @depperm
-
如果关键字是
someMoreInfo,你想要整个日志还是只从最近的评论DON'T WANT -
是的,我想要关键字所在的整个数据块,并由空的新行 @depperm 分隔
标签: regex python-3.x recursion data-extraction