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("---------------------")
相关推荐
Joker`s smile2 分钟前
Chrome安装老版本、不同版本,自制便携版本用于前端调试
前端·chrome
weixin_416639974 分钟前
爬虫工程师Chrome开发者工具简单介绍
前端·chrome·爬虫
3gying7 分钟前
chromedriver
python
我是如子啊10 分钟前
【解决“此扩展可能损坏”】Edge浏览器(chrome系列通杀))扩展损坏?一招保留数据快速修复
前端·chrome·edge
灵性花火10 分钟前
Qt的前端和后端过于耦合(0/7)
开发语言·前端·qt
DES 仿真实践家1 小时前
【Day 11-N22】Python类(3)——Python的继承性、多继承、方法重写
开发语言·笔记·python
YuTaoShao2 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
程序员张32 小时前
SpringBoot计时一次请求耗时
java·spring boot·后端
孤水寒月4 小时前
基于HTML的悬窗可拖动记事本
前端·css·html
祝余呀4 小时前
html初学者第一天
前端·html