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

如何从动态UPI支付链接中提取pa=至&间的内容?

从UPI支付链接中提取pa参数的解决方案

如果要从UPI支付链接里提取pa=到下一个&之间的动态内容,普通字符串拆分方法很容易因为参数顺序变化、pa作为最后一个参数(无后续&)等场景失效,这里提供两种可靠的解决方法:

方法一:使用正则表达式

用正则可以精准匹配pa=开头到第一个&之前的所有内容,即使pa是链接里的最后一个参数也能正常提取。

匹配规则:pa=([^&]+)

  • pa=:匹配参数前缀
  • ([^&]+):捕获所有非&的字符,也就是pa的参数值

示例代码(Python):

import re

upi_link = "upi://pay?pa=suyashvashishtha@axl&pn=Suyash%20Vashishtha&mc=0000&mode=02&purpose=00"
match_result = re.search(r'pa=([^&]+)', upi_link)
if match_result:
    pa_address = match_result.group(1)
    print(pa_address)  # 输出:suyashvashishtha@axl

方法二:使用URL解析库

UPI链接本质符合URL规范,用专业的URL解析工具处理参数更稳妥,能自动处理参数顺序、编码等问题。

示例代码(Python):

from urllib.parse import urlparse, parse_qs

upi_link = "upi://pay?pa=suyashvashishtha@axl&pn=Suyash%20Vashishtha&mc=0000&mode=02&purpose=00"
parsed = urlparse(upi_link)
params = parse_qs(parsed.query)
# 获取pa参数值,参数不存在时默认返回None
pa_address = params.get('pa', [None])[0]
if pa_address:
    print(pa_address)  # 输出:suyashvashishtha@axl

这两种方法都能适配各种动态场景,比如pa参数值为anyaddress0005446556@axl、newaddress@axl,或者pa位于链接参数的任意位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:15:45