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

Python从URL数据框中提取8-16位数字的方法求助

提取URL中=后8-16位数字到DataFrame新列

因为URL参数名无固定模式,硬编码匹配特定参数的方法局限性大,使用正则表达式可以通用解决这类问题:

正则表达式说明

采用正则 (?<==)\d{8,16}(?=&|$),各部分作用:

  • (?<==):正向零宽断言,确保目标数字前紧跟=符号
  • \d{8,16}:匹配连续8到16位的数字
  • (?=&|$):正向零宽断言,确保目标数字后是参数分隔符&或URL结尾,避免捕获后续无关内容

Pandas 实现代码

import pandas as pd

# 假设你的DataFrame名为df,存储URL的列名为url
df["track_number"] = df["url"].str.extract(r"(?<==)\d{8,16}(?=&|$)")

效果验证

针对你提供的示例:

  • 示例2的URL会提取出279076160403(符合8-16位要求)
  • 示例1的URL中数字长度为22位,不符合8-16位的筛选条件,不会被提取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:01:14