以下是一个示例代码,演示了如何按照邮件行分割后的星期进行排序:
import re
# 定义邮件行的样式
email_line_pattern = r"\w+\s+(\d+)\s+(\w+)"
# 定义星期的顺序
week_order = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
# 示例邮件行列表
email_lines = [
"From: Mon 25 Jan",
"From: Sun 31 Jan",
"From: Tue 26 Jan",
"From: Thu 28 Jan",
"From: Sat 30 Jan",
]
# 提取邮件行中的日期和星期
dates_and_weeks = []
for line in email_lines:
match = re.search(email_line_pattern, line)
if match:
date = match.group(1)
week = match.group(2)
dates_and_weeks.append((date, week))
# 按照星期的顺序进行排序
dates_and_weeks.sort(key=lambda x: week_order.index(x[1]))
# 打印排序结果
for date, week in dates_and_weeks:
print(f"Date: {date}, Week: {week}")
运行上述代码,输出结果将按照邮件行分割后的星期进行排序。