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

如何利用正则表达式提取字符串中首次出现的连续三位数字?

提取字符串中首次出现的连续三位数字

问题描述

我有一个字符串列表,每个字符串开头包含若干字符与空格,之后会首次出现连续三位数字。需要从每个字符串中提取这组首次出现的三位数字。

示例

  • 示例1:
    输入字符串: "SEE 222 Newcastle NSW 203"
    预期输出: 222
    
  • 示例2:
    输入字符串: "SEE TEMP 212 Newcastle NSW 203"
    预期输出: 212
    
  • 示例3:
    输入字符串: "SEE TEMP212 Newcastle NSW 203"
    预期输出: 212
    

解决方案

使用正则表达式匹配字符串中第一个连续三位数字即可,核心思路是用\d{3}匹配连续三个数字,再通过搜索方法获取第一个匹配结果。

Python 代码实现

import re

def get_first_three_digits(input_str):
    # 搜索第一个连续三位数字的匹配项
    match_result = re.search(r'\d{3}', input_str)
    # 有匹配则返回数字,否则返回None(可按需调整)
    return match_result.group() if match_result else None

# 测试示例
test_cases = [
    "SEE 222 Newcastle NSW 203",
    "SEE TEMP 212 Newcastle NSW 203",
    "SEE TEMP212 Newcastle NSW 203"
]

for case in test_cases:
    print(get_first_three_digits(case))

代码说明

  • re.search(r'\d{3}', input_str):从字符串起始位置开始搜索,找到第一个符合连续三位数字规则的匹配项
  • match_result.group():提取匹配到的数字字符串
  • 如果字符串中不存在连续三位数字,函数返回None,可根据实际需求修改默认返回值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 23:03:21