本文实例讲述了Python使用re模块实现信息筛选的方法。分享给大家供大家参考,具体如下:
背景
平时工作中,我们经常会处理大量的元数据(Raw Data),而一般的文件编辑器只能一次查询一个关键字,这就难以连续的分析元数据,比如分析产品日志文件(log),日志可能包括很多information级别的信息,这些一般是我们不太关心的,我们主要关心的是一些特殊的调试(Debug)级别的信息,所以就有必要根据很多关键字筛选出来日志文件中我们所关系的信息,这样筛选出来的日志文件不仅具有连续性,而且易读性会非常好。
解决方案
re是Python自带的正则表达式库文件,为字符串的匹配筛选提供了极大的便利,本文就是利用re来进行日志文件的信息筛选。首先,简单来看一下re中的主要函数:
1. Compile(pattern, flag)
:对正则表达式进行编译,比检查语法的正确性。flag是编译的标签,这里只介绍DOTALL,表示匹配所有的字符,包括新的行。
>>> import re >>> re.compile('[abc]+') re.compile('[abc]+') >>> re.compile(test) Traceback (most recent call last): File "", line 1, in NameError: name 'test' is not defined >>>