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

如何使用正则表达式提取起始关键词Feedback:到下一个大写单词间的文本

可行的正则实现方案

核心逻辑

使用非贪婪匹配+正向预查实现边界截断:

  • 先匹配起始标识Feedback:
  • 捕获中间内容时用非贪婪匹配避免过度捕获
  • 用正向预查判断下一个首字母大写的单词位置,匹配到该位置就停止,且不会把大写单词计入结果

完整代码

import re
a = "This is a Feedback: Note: We have written this Feedback: The product is good. Very output is valid."
# 正则中的捕获组会直接被findall返回,预查部分不会计入结果
result_list = re.findall(r"Feedback:\s*(.*?)\s*(?=[A-Z])", a)
# 过滤掉空匹配(第一个Feedback后直接接大写Note,捕获内容为空)
valid_result = [item for item in result_list if item]
print(valid_result[0])

输出结果

The product is good.

正则说明

  • Feedback::精准匹配起始关键词
  • \s*:匹配关键词后方任意数量的空白字符,自动修剪内容前后的多余空格
  • (.*?):非贪婪匹配任意字符,作为捕获组返回需要提取的内容
  • (?=[A-Z]):正向预查,匹配到下一个大写英文字母开头的内容就停止,不会消耗该大写字母

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:27:05