You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则问题:提取含双横线的多横线间Person 2发言文本

正则表达式修改方案

问题描述

原正则表达式 regex_pattern= r"Person 2\s+\[\d+\]\s+-+\s+((?:.*?\n?)*(?=\s+-+|$))" 可提取以多横线分隔的Person 2发言,但当发言内容包含双横线 -- 时,会因误将 -- 识别为分隔线而匹配失效。

修改后的正则表达式

regex_pattern = r"Person 2\s+\[\d+\]\s+-+\s+((?:.*?\n?)*?(?=\s*-{5,}|$))"

修改说明

  • 将结束断言中的 -+(匹配任意数量连续横线)调整为 -{5,}(匹配至少5个连续横线),以此区分发言内容中的双横线 -- 和转录文本中用于分隔的多横线(通常为大量连续横线)
  • 将匹配内容部分的 (?:.*?\n?)* 改为 (?:.*?\n?)*?,使用非贪婪匹配确保精准截止到分隔线位置,避免过度匹配

测试验证

针对含双横线的目标文本:


Person 2 [12]

Bla bla bla -- bla bla bla bla -- bla bla bla bla 

Person 6 [13]

Bla bla bla bla bla

修改后的正则可正确提取到Person 2的完整发言:Bla bla bla -- bla bla bla bla -- bla bla bla bla

内容的提问来源于stack exchange,提问作者xxgaryxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:05:15