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

Python正则提取数字与指定语句间内容的问题求助

问题分析与解决方案

你的正则代码问题在于,\d+会匹配字符串中第一个出现的连续数字序列(示例里的2014),导致捕获的内容包含了数字到固定语句之间的所有冗余文本,而非目标的作者名。

要提取最后一个数字序列到固定语句之间的内容,只需调整正则表达式,先定位到最后一个数字序列的位置,再捕获后续目标内容:

import re
test_string = "2014).  Research  in fields like human–computer interactio n1Andrew Burton-Jones was the accepting senior editor for this paper"
# 正则逻辑:先匹配任意内容直到最后一组连续数字,再捕获数字到固定语句间的文本
pattern = r".*?\d+(.*?)(?= was the accepting senior editor for this paper)"
match1 = re.search(pattern, test_string)
if match1:
    author_name = match1.group(1).strip()
    print(author_name)  # 输出: Andrew Burton-Jones

补充说明

  • .*?\d+:非贪婪匹配任意字符,直到遇到最后一组连续数字(避免停在第一个数字序列)
  • (.*?):非贪婪捕获数字之后、固定语句之前的目标文本
  • strip():去除捕获内容前后的空白或多余符号,适配多样的字符串格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:22:15