15 lines
614 B
Python
15 lines
614 B
Python
import re
|
|
|
|
log = '''
|
|
192.168.1.100 - - [15/Mar/2024:10:15:30 +0800] "GET /index.html HTTP/1.1" 200 1234
|
|
10.0.0.50 - - [15/Mar/2024:10:15:31 +0800] "POST /api/login HTTP/1.1" 200 256
|
|
192.168.1.101 - - [15/Mar/2024:10:15:32 +0800] "GET /notfound.html HTTP/1.1" 404 512
|
|
172.16.0.200 - - [15/Mar/2024:10:15:33 +0800] "GET /images/logo.png HTTP/1.1" 200 4096
|
|
'''
|
|
|
|
# 提取 IP、时间和状态码
|
|
pattern = r'(\d+\.\d+\.\d+\.\d+).*?\[([^\]]+)\].*?" (\d{3}) \d+'
|
|
|
|
for match in re.finditer(pattern, log):
|
|
ip, time, status = match.groups()
|
|
print(f'IP: {ip:15} | 时间: {time:25} | 状态: {status}') |