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

如何使用正则表达式提取字符串中id键的数值?

使用正则表达式提取逗号分隔键值对中的id数值

核心正则方案

推荐使用更严谨的正则表达式,确保匹配独立的id键,避免误匹配其他包含id子串的键(如someOtherId):

(?:^|,)id=(\d+)(?:,|$)

正则解析

  • (?:^|,):非捕获组,匹配字符串开头或逗号,确保id是一个独立的键,而非其他键名的一部分
  • id=:精确匹配目标键名
  • (\d+):捕获组,匹配1个或多个数字(即需要提取的id数值)
  • (?:,|$):非捕获组,匹配逗号或字符串结尾,确保id键值对的完整性

代码示例(Python)

import re

input_str = 'reference="edd63cd8-cdf5-11ed-afa1-0242ac120002",args="one two three",id=123456789,someField="data",someOtherId=567890'
match_result = re.search(r'(?:^|,)id=(\d+)(?:,|$)', input_str)

if match_result:
    extracted_id = match_result.group(1)
    print(extracted_id)  # 输出:123456789

简化版正则(可选)

如果能确保字符串中没有其他以id开头的键名,也可以用单词边界简化正则:

\bid=(\d+)\b

\b是单词边界,能保证id是完整的键名,不会匹配someOtherId这类包含id子串的键。

内容的提问来源于stack exchange,提问作者sakura-bloom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:13:32