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

如何使用regex提取\d{2}/\d{4}匹配结果后两空格之间的数字

正则提取解决方案

你可以根据你使用的正则引擎支持度,选择以下两种写法实现需求:

  • 支持零宽后向断言的引擎(Java 8+、Python、JS ES2018+等)可直接匹配到目标数字,不需要额外处理捕获组:
    正则表达式:(?<=\b\d{2}/\d{4}\s)\d+
    逻辑说明:通过后向断言先定位到XX/XXXX格式的日期加空格的组合,再提取紧随其后的数字,匹配结果直接就是你需要的数值。
  • 不支持零宽断言的低版本引擎,可使用捕获组实现,匹配后取第一个分组的内容即可:
    正则表达式:\b\d{2}/\d{4}\s(\d+)\b
    逻辑说明:括号包裹的(\d+)就是目标数字,匹配结果的第一个捕获组即为需要提取的内容。

代码使用示例(Python)

import re

# 你的示例数据
raw_data = """Backlog 25 567 07/2022 120 2510
39/2021 23 590 08/2022 120 2630
40/2021 120 710 09/2022 120 2750
41/2021 120 830 10/2022 120 2870
42/2021 120 950 11/2022 120 2990
45/2021 120 1070 12/2022 120 3110
47/2021 120 1190 13/2022 120 3230
48/2021 120 1310 14/2022 240 3470
49/2021 120 1430 15/2022 120 3590
50/2021 120 1550 16/2022 120 3710
51/2021 120 1670 17/2022 240 3950
52/2021 120 1790 18/2022 120 4070
02/2022 120 1910 19/2022 120 4190
03/2022 120 2030 20/2022 120 4310
04/2022 120 2150 21/2022 240 4550
05/2022 120 2270 22/2022 120 4670
06/2022 120 2390 23/2022 120 4790
"""

# 捕获组写法实现提取
pattern = re.compile(r'\b\d{2}/\d{4}\s(\d+)\b')
target_numbers = pattern.findall(raw_data)
print(target_numbers)

运行后输出结果为:
['120', '23', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '120', '240', '120', '120', '120', '240', '120', '120', '120', '240', '120', '120', '120']
其中你举例的39/2021对应的23为列表的第二个元素,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:24:05