Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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,我应该能解决这个问题,但我显然遗漏了一些东西 鉴于这一点: <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 1 2020-12-22T15:23:46+00:00 192.168.2.1 dhcpd----dhcpd:DHCPREQUEST for 192.16

我应该能解决这个问题,但我显然遗漏了一些东西

鉴于这一点:

<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
1 2020-12-22T15:23:46+00:00 192.168.2.1 dhcpd----dhcpd:DHCPREQUEST for 192.168.2.11从c0:ee:fb:f5:d8:da(OnePlus3)通过igb2
dhcpd:请问,我如何提取日期/时间以及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)
重新导入
字符串='1 2020-12-22T15:23:46+00:00 192.168.2.1 dhcpd----dhcpd:DHCPREQUEST for 192.168.2.11从c0:ee:fb:f5:d8:da(OnePlus3)通过igb2'
r=re.compile(“\d{4}-\d{2}-\S{17}”)
r、 芬德尔(字符串)
这很好——如果我尝试添加
dhcpd:.+
,它就会停止工作

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


提前谢谢

您是否尝试过
“\d{4}-\d{2}-\S{17}.*(dhcpd:.*)”
?这将保存从
dhcpd:
开始的所有内容。如果我使用这种模式,恐怕会丢失日期。现场-谢谢。
r = re.compile (r"(\d{4}-\d{2}-\S{17}).*dhcpd(.+)$")
print( r.findall(string) )