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

非贪婪正则表达式匹配结果异常问题排查

问题原因

你的正则表达式re.findall(r"\.\s(.*?):\s?[A-Z]", text)存在核心缺陷:

  1. .*?作为惰性匹配,允许匹配包括句号在内的所有字符,导致正则会从文本中第一个出现的. (句号+空格)位置开始匹配,一直延伸到第一个符合: \s?[A-Z]的位置,把中间整段无关内容都囊括进去。
  2. 未限制匹配范围,无法精准定位到目标标题(如Objectives)前的那个句号。

修正方案

将正则中的.*?替换为[^.]*?,用否定字符集限定匹配范围:

re.findall(r"\.\s([^.]*?):\s?[A-Z]", text)

原理说明

[^.]表示匹配除句号外的任意字符,这样正则会自动停在上一个句号的位置,只会捕获最后一个. 之后、冒号之前的内容,精准提取到你需要的Objectives。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:04:52