import re # 本地测试数据(对应题目要求的结构) html = '''

《流浪地球》

(2024) 8.5 导演: 郭帆

《你好,李焕英》

(2024) 9.0 导演: 贾玲
''' # ================= 核心:针对 div 结构的正则 ================= pattern = r'''
.*?

《([^》]+)》

# 捕获电影名 .*?\((\d{4})\) # 捕获年份 .*?([\d.]+) # 捕获评分 .*?导演: ([^<]+) # 捕获导演 ''' # 开始匹配 movies = re.findall(pattern, html, re.DOTALL | re.X) # 输出结果 print("===== 练习2 结果展示 =====") for index, movie in enumerate(movies, 1): name, year, rating, director = movie print(f"{index}. 电影名:{name}") print(f" 年份:{year} | 评分:{rating} | {director}") print("-" * 30)