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("---------------------")
相关推荐
Bellafu6665 分钟前
selenium常用的等待有哪些?
python·selenium·测试工具
blackorbird32 分钟前
Edge 浏览器 IE 模式成攻击突破口:黑客借仿冒网站诱导攻击
前端·edge
小白学大数据1 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax
谷歌开发者1 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
名字越长技术越强2 小时前
Chrome和IE获取本机ip地址
前端
天***88962 小时前
Chrome 安装失败且提示“无可用的更新” 或 “与服务器的连接意外终止”,Chrome 离线版下载安装教程
前端·chrome
半梦半醒*2 小时前
zabbix安装
linux·运维·前端·网络·zabbix
2401_841495642 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
清羽_ls2 小时前
React Hooks 核心规则&自定义 Hooks
前端·react.js·hooks
你的人类朋友2 小时前
“签名”这个概念是非对称加密独有的吗?
前端·后端·安全