Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式匹配错误或信息,但根据匹配情况使用不同的操作_Python_Regex - Fatal编程技术网

Python 正则表达式匹配错误或信息,但根据匹配情况使用不同的操作

Python 正则表达式匹配错误或信息,但根据匹配情况使用不同的操作,python,regex,Python,Regex,我正在遍历一个日志文件,列出每个用户生成的错误消息和信息消息的数量。我试图在一个正则表达式模式中执行此操作,并将捕获的行添加到不同的列表中,具体取决于该行是错误还是信息消息。 日志文件的内容如下所示: 1月31日00:21:30 ubuntu.local ticky:错误更新时票证被修改(john123) 1月31日00:44:34 ubuntu.local ticky:信息关闭票证[#1754](jack456) 首先我想指出,使用简单的if语句,检查子字符串是否在日志行中,这样做可能要容易得

我正在遍历一个日志文件,列出每个用户生成的错误消息和信息消息的数量。我试图在一个正则表达式模式中执行此操作,并将捕获的行添加到不同的列表中,具体取决于该行是错误还是信息消息。 日志文件的内容如下所示:

1月31日00:21:30 ubuntu.local ticky:错误更新时票证被修改(john123)

1月31日00:44:34 ubuntu.local ticky:信息关闭票证[#1754](jack456)


首先我想指出,使用简单的if语句,检查子字符串是否在日志行中,这样做可能要容易得多

日志内容中的行的
:
如果行中出现“错误”:
#执行错误操作
行中的elif“信息”:
#执行信息操作
如果您决定使用正则表达式,类似这样的东西应该可以使用,我建议您查看python包的文档,以了解有关在python中使用正则表达式的更多信息:

重新导入
#将日志文件读入“日志内容”`
模式=重新编译(“(错误|信息)”)
对于日志内容中的行:
匹配=模式。搜索(行)
如果匹配项不是无:
如果匹配。组(0)=“错误”:
#执行错误操作
elif匹配组(0)=“信息”:
#执行信息操作

对于以下内容,您不需要正则表达式:
如果行中的'INFO':INFO\u list.append(行)等。控制程序逻辑不在正则表达式的范围内。这只是我为一个需要使用正则表达式的在线课程所做的一个更大项目的一部分。但你的解释仍然有用,谢谢:)