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

如何使用Python对JSON字符串进行模糊匹配并提取$包裹的参数

提取JSON字符串中被$包裹的内容

方法一:使用正则表达式(re模块)

这是最便捷的实现方式,通过正则匹配所有被$包裹的子串:

import re

# 目标JSON字符串
json_str = '{"name":"$name$","age":"$age$", "country":"UK"}'

# 提取包含$的完整匹配项
full_matches = re.findall(r'\$.*?\$', json_str)
print(full_matches)  # 输出: ['$name$', '$age$']

# 仅提取$中间的内容(去除$符号)
content_matches = re.findall(r'\$(.*?)\$', json_str)
print(content_matches)  # 输出: ['name', 'age']

正则说明:

  • \$:转义匹配$符号($在正则中属于特殊元字符,需转义)
  • .*?:非贪婪模式匹配任意字符,避免将多个$包裹的内容合并为一个匹配项

方法二:字符串分割法(无需依赖re模块)

如果不想使用正则,也可以通过字符串分割实现:

json_str = '{"name":"$name$","age":"$age$", "country":"UK"}'

# 用$分割字符串
split_parts = json_str.split('$')

# 提取包含$的完整匹配项
full_matches = [f'${part}$' for part in split_parts[1::2]]
print(full_matches)  # 输出: ['$name$', '$age$']

# 仅提取$中间的内容
content_matches = split_parts[1::2]
print(content_matches)  # 输出: ['name', 'age']

原理说明:
用$分割字符串后,被$包裹的内容会出现在分割结果的奇数索引位置(从1开始),通过切片[1::2]即可筛选出目标内容,按需拼接$即可得到完整的包裹项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:01:01