import re
def logs():
with open("assetslogdata.txt", "r") as file:
logdata = file.read()
a=re.findall('[0-9]{3}\.\s*[0-9]{3}\.\s*[0-9]{3}\.\s*[0-9]{3}',logdata)
b=re.findall('([a-z]+\d+)|(\-\s\-)',logdata)
c=re.findall('[0-9]*\/[A-Za-z]*\/[0-9]*\:[0-9]*\:[0-9]*\:[0-9]+\s\-[0-9]+',logdata)
d=re.findall('[A-Z]*\s\/[a-z]*\s[A-Z]*\/[0-9]*\.[0-9]*',logdata)
pattern="""
(?P<host>[0-9]{3}\.\s*[0-9]{3}\.\s*[0-9]{3}\.\s*[0-9]{3})
(?P<user_name>([a-z]+\d+)|(\-\s\-))
(?P<time>[0-9]*\/[A-Za-z]*\/[0-9]*\:[0-9]*\:[0-9]*\:[0-9]+\s\-[0-9]+)
(?P<request>[A-Z]*\s\/[a-z]*\s[A-Z]*\/[0-9]*\.[0-9]*)
"""
result=[]
for item in re.finditer(pattern,logdata,re.VERBOSE):
result.append(item.groupdict())
return result
print(logs())
python正则表达式,前几个分开的abcd可以正常输出 但是合在一起之后只有username可以正常输出,加上其余的项就只输出一个空的列表
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。