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

如何利用Regex从给定链接中提取目标数值1425573?

正则捕获URL中的目标数值方案

没问题,我来帮你搞定这个正则捕获需求!先分析下你的URL结构:目标数值1425573位于固定路径段/summary/之后,要么跟着查询参数的起始符?,要么就是路径的末尾。基于这个规律,我们可以写出精准的正则表达式,同时适配有没有查询参数的场景。

核心正则表达式

/summary/(\d+)(?:\?|$)

正则各部分解释:

  • /summary/:精准匹配固定字符串,帮我们定位到目标数值的前置标识
  • (\d+):捕获组,匹配1个或多个数字(也就是你要的1425573),括号会把这部分内容单独提取出来
  • (?:\?|$):非捕获组,匹配要么是查询参数的?,要么是字符串的结尾,确保我们只拿到纯数字ID,不会附带后面的参数内容

不同编程语言的实现示例

JavaScript

const url = "https://mytrip.com/plan#/pro/summary/1425573?as=1";
const regex = /\/summary\/(\d+)(?:\?|$)/; // 注意转义斜杠
const matchResult = url.match(regex);

if (matchResult) {
  const targetId = matchResult[1];
  console.log(targetId); // 输出:1425573
}

Python

import re

url = "https://mytrip.com/plan#/pro/summary/1425573?as=1"
pattern = r'/summary/(\d+)(?:\?|$)'
match_result = re.search(pattern, url)

if match_result:
    target_id = match_result.group(1)
    print(target_id)  # 输出:1425573

Java

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class UrlIdExtractor {
    public static void main(String[] args) {
        String url = "https://mytrip.com/plan#/pro/summary/1425573?as=1";
        Pattern pattern = Pattern.compile("/summary/(\\d+)(?:\\?|$)"); // Java中需要转义斜杠和问号
        Matcher matcher = pattern.matcher(url);

        if (matcher.find()) {
            String targetId = matcher.group(1);
            System.out.println(targetId); // 输出:1425573
        }
    }
}

额外说明

这个正则不仅能匹配你给出的带查询参数的URL,就算URL是https://mytrip.com/plan#/pro/summary/1425573(没有后面的?as=1),也能正确捕获到目标数值,兼容性很强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:18:15