首页 > 解决方案 > 来自字符串的正则表达式多子字符串

问题描述

我应该能够解决这个问题,但我显然错过了一些东西。

鉴于这一行:

<190>1 2020-12-22T15:23:46+00:00 192.168.2.1 dhcpd - - - dhcpd: DHCPREQUEST for 192.168.2.11 from c0:ee:fb:f5:d8:da (OnePlus3) via igb2

如何在 dhcpd: 之后提取日期/时间和所有内容?

我试过了

import re
string = '<190>1 2020-12-22T15:23:46+00:00 192.168.2.1 dhcpd - - - dhcpd: DHCPREQUEST for 192.168.2.11 from c0:ee:fb:f5:d8:da (OnePlus3) via igb2'
r = re.compile ("\d{4}-\d{2}-\S{17}")
r.findall(string)

这很好用 - 如果我尝试添加dhcpd:.+,它会停止工作。

请问我做错了什么?这将进入一个脚本以从我的 dhcp 日志中提取行。其余的我可以处理。

先感谢您

标签: pythonregex

解决方案


r = re.compile (r"(\d{4}-\d{2}-\S{17}).*dhcpd(.+)$")
print( r.findall(string) ) 

推荐阅读