Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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/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_File_Parsing - Fatal编程技术网

正则表达式以在python中获取以下内容

正则表达式以在python中获取以下内容,python,regex,file,parsing,Python,Regex,File,Parsing,我正在分析此文件internet.test它有多个条目其中一些条目是: Jun 15 16:26:33 dnsmasq[1979]: query[AAAA] play.google.com from 192.168.1.11 Jun 15 16:27:13 dnsmasq[1979]: forwarded play.google.com to 8.8.8.8 Jun 15 16:27:45 dnsmasq[1979]: reply play.google.com is 2404:6800:400

我正在分析此文件internet.test它有多个条目其中一些条目是:

Jun 15 16:26:33 dnsmasq[1979]: query[AAAA] play.google.com from 192.168.1.11
Jun 15 16:27:13 dnsmasq[1979]: forwarded play.google.com to 8.8.8.8
Jun 15 16:27:45 dnsmasq[1979]: reply play.google.com is 2404:6800:4007:810::200e
我想获取日期和时间(例如:从第1行Jun 15 16:26:33、第2行Jun 15 16:27:13和第3行Jun 15 16:27:45),并将其存储在列表中(例如:日期=['Jun 15 16:26:33'、'Jun 15 16:27:13'、'Jun 15 16:27:45'])

我试着从每行中提取前14个元素,如下所示,但没有成功

@staticmethod
def getDate():
    Dates = []
    date = ''
    with open("internet.test", "r") as file:
        for line in file:
            for i in range(15):
                date += line[i]
            Dates.append(date)
        return display(Dates)

是否可以使用正则表达式获取和存储日期和时间?

您根本不需要正则表达式,使用
行[:15]
可以很容易地将行切割为14个字符,并且您的整个循环可以简化为一行代码,并具有一定的列表理解能力:

with open("internet.test", "r") as file:
    return display([line[:15] for line in file])
或者通过两个步骤,使其更加明确易读:

with open("internet.test", "r") as file:
    Dates = [line[:15] for line in file]
return display(Dates)

您根本不需要正则表达式,使用
行[:15]
可以很容易地将行切割为14个字符,并且您的整个循环可以简化为一行代码,只需一些列表理解:

with open("internet.test", "r") as file:
    return display([line[:15] for line in file])
或者通过两个步骤,使其更加明确易读:

with open("internet.test", "r") as file:
    Dates = [line[:15] for line in file]
return display(Dates)

您可以使用
^\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2}
来匹配日期。实时正则表达式


您可以使用
^\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2}
来匹配日期。实时正则表达式


尝试使用
^\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2}
如图所示。如何使用
.split(“”
并循环每个元素?尝试使用
^\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2}
如图所示。如何使用
.split(“”)并循环每个元素?其不工作。。输出是:Dates=['u'、'u'、'u'、'u'…等等]如果文本文件的内容如您所说的那样,那是不可能的。手动打开文件并更正您的问题,以便在其内部显示读取的数据。对不起,打印您建议的代码段是我的错误!谢谢你……它不起作用了。。输出是:Dates=['u'、'u'、'u'、'u'…等等]如果文本文件的内容如您所说的那样,那是不可能的。手动打开文件并更正您的问题,以便在其内部显示读取的数据。对不起,打印您建议的代码段是我的错误!非常感谢。