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

如何用Python正则提取关键词前最近数字及对应文献片段

提取BLAKE对应参考文献的正则解决方案
  • 问题根源:原正则\d+?.*?BLAKE.*?\d{4}会匹配更早的序号,是因为.*?会忽略中间的其他数字序号,导致跨文献匹配。
  • 修正后的正则(两种可选):
    1. 基础修正版(确保序号是独立数字):
      r'(?<!\d)\d+.*?BLAKE.*?\d{4}'
      
    2. 严谨版(强制序号到BLAKE之间无其他数字):
      r'\d+(?:(?!\d).)*BLAKE.*?\d{4}'
      
  • 关键细节解释:
    • (?<!\d):反向否定预查,避免匹配数字序列的片段(比如把"16"从"10,16"里误拆出来)。
    • (?:(?!\d).)*:非捕获匹配组,遍历任意字符但禁止出现数字,确保序号是BLAKE之前最近的那个,不会跨文献抓取更早的序号。
    • .*?:非贪婪匹配,避免过度延伸到其他文献内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:06:28