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

如何提取静态文本附近的特定字符串?附链接r后数字提取需求

提取链接中紧邻'r'的数字字符串的解决方案

别担心,这个需求其实用正则就能轻松搞定,我来一步步给你讲清楚怎么做,就算你不太懂正则也能快速上手~

首先,咱们先明确目标:从示例链接 /national/italy/serie-a/20172018/regular-season/r42011/?ICID=PL_3N_01 里,提取出紧跟在字符'r'后面的数字42011。

核心正则思路

我们可以用这个正则表达式:r(\d+)

  • r:精确匹配静态字符'r',确保我们找的是目标位置的'r'
  • (\d+):\d代表匹配单个数字,+表示匹配一个或多个连续数字,括号的作用是把这部分数字单独“捕获”出来,方便后续提取

实际代码示例

下面给你几个常用编程语言的实现例子,你可以直接套用:

Python 实现

import re

# 你的目标链接
url = "/national/italy/serie-a/20172018/regular-season/r42011/?ICID=PL_3N_01"
# 用re.search查找第一个匹配的内容
match_result = re.search(r'r(\d+)', url)

if match_result:
    # group(1)就是提取括号里捕获的数字
    target_number = match_result.group(1)
    print(target_number)  # 输出:42011

JavaScript 实现

const url = "/national/italy/serie-a/20172018/regular-season/r42011/?ICID=PL_3N_01";
// 用match方法匹配正则
const matchResult = url.match(/r(\d+)/);

if (matchResult) {
    // 数组的第二个元素就是捕获的数字
    const targetNumber = matchResult[1];
    console.log(targetNumber); // 输出:42011
}

进阶优化(可选)

如果担心链接里其他位置出现'r+数字'的情况(比如参数里的内容),可以把正则调整为\/r(\d+)\/,这样只会匹配被斜杠包裹的rXXXX结构,比如示例链接里的/r42011/,避免误匹配其他无关内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:49:17