我在python中使用以下代码来搜索文件中的正则表达式,但它始终返回“None”。不明白是怎么回事。 (编辑-添加完整代码)
def process_syslog(file_path):
with open(file_path, "r") as f:
for line in f:
link_down_match = re.search(r'Link Down on en0. (.*$)', line)
print en0_down_match.group()
链接到匹配项,总是打印“无”。我正在为以下行重新匹配:
要匹配的字符串:en0上的向下链接。原因1(未指明)。你知道吗
基本上,我正在搜索的文件包含上面提到的多行,其中“Reason”在某些情况下是不同的(1-10)
这就是我从main(snippet)调用函数的方式
if current_file == 'syslog':
curr_file_path = dir_path + str(current_file)
process_syslog(curr_file_path)
这里怎么了?你知道吗
我正在处理的文件片段:
Mar 25 06:33:34 ethernet: Status: Link Down on en0. Reason 1 (Unspecified).
Mar 25 06:34:07 ethernet: Status: Link Down on en1. Reason 4 (Unspecified).
Mar 25 06:43:06 ethernet: Status: Link Down on en1. Reason 4 (Unspecified).
Mar 25 06:44:16 ethernet: Status: Link Down on en1. Reason 4 (Unspecified).
Mar 25 06:53:59 ethernet: Status: Link Down on en0. Reason 1 (Unspecified).
Mar 25 06:53:59 ethernet: Status: Link Down on en1. Reason 8 (Unspecified.
Mar 25 16:17:36 ethernet: Status: Link Down on en0. Reason 1 (Unspecified).
更新的答案删除旧内容:
电流输出:
将
group()
更改为groups()
或者
有几件事。你知道吗
虽然你没有提到它,我想你在for循环之前有一个'with open…'语句?
你确定在(\w+)和(\d+)前面有一个空格吗?
您使用示例中的颜色打印了示例文本。我想这是Stackoverflow的东西吧?否则日志中可能会有转义序列。
我在你的例子上测试了r.e.,它在这里运行正常,所以检查上面的。。。你知道吗
相关问题 更多 >
编程相关推荐