python 查找分组

目录

[根据 Door opened 和Door closed 把字符串分组:](#根据 Door opened 和Door closed 把字符串分组:)

[如果最后一组没有Door closed,则丢弃最后一条数据:](#如果最后一组没有Door closed,则丢弃最后一条数据:)


根据 Door opened 和Door closed 把字符串分组:

python 复制代码
log_text = """
[20231201-211102] Door opened! test_videos/save_results/
[20231201-211102] order_idx: 1/228, 23111004594831533_0_216.mp4
[20231201-211108] Door closed!
[20231201-211109] Door opened! test_videos/save_results/
[20231201-211109] order_idx: 2/228, order_path = 1338.mp4
[20231201-211115] Get:  score 0.52009
[20231201-211116] Door closed!
[20231201-211116] Door opened! /test_videos/save_results/
[20231201-211116] order_idx: 3/228, order.video_paths = high_res_20231110-133918_SW0031423111005385940276_0_256.mp4
[20231201-211147] Get:score 0.988185
[20231201-211147]   Put: core 0.988185
[20231201-211151] Get: re 0.525953
[20231201-211152] Door closed!
"""

    pattern = re.compile(r'(?=.*Door opened!)(?=.*Door closed!).*\n')

    segments = pattern.split(log_text)

    # 移除空字符串
    segments = [segment.strip() for segment in segments if segment.strip()]

如果最后一组没有Door closed,也会分成一组。

如果最后一组没有Door closed,则丢弃最后一条数据:

python 复制代码
    pattern = re.compile(r'Door opened!(.*?)Door closed!', re.DOTALL)

    matches = pattern.findall(log_text)

    # 打印匹配结果
    for match in matches:
        print(match.strip())
        print("---------------------")
相关推荐
阿在在4 分钟前
Spring 系列(三):Spring PostProcessor 顶级扩展接口全解析
java·后端·spring
uhakadotcom12 分钟前
Hono v4.12.0 发布!路由提速2倍+,JSON响应飞起来
前端·面试·github
少云清13 分钟前
【UI自动化测试】10_web自动化测试 _frame切换、多窗口切换
前端·web自动化测试
HelloReader28 分钟前
做 IM 客户端,选 Tauri 还是 Qt一篇把坑讲清楚的选型与架构指南
前端
kyrie学java29 分钟前
使用SpringBoot框架搭建简易的项目
java·spring boot·spring
HelloReader30 分钟前
Tauri 2 创建项目全流程create-tauri-app 一键脚手架 + Tauri CLI 手动接入
前端·javascript·vue.js
Full Stack Developme36 分钟前
语法树与自动化技术
运维·前端·自动化
一切尽在,你来39 分钟前
AI 大模型应用开发前置知识:Python 泛型编程全教程
开发语言·人工智能·python·ai编程
野犬寒鸦42 分钟前
ArrayList扩容机制深度解析(附时序图详细讲解)
java·服务器·数据结构·数据库·windows·后端
shix .1 小时前
旅行网站控制台检测
开发语言·前端·javascript