2024-06-02 08:37:32 发布
网友
在Python中,我试图从与关键字numHits的字段值对应的字符串中提取数字1631。关键字是固定的。我怎么用正则表达式呢?你知道吗
numHits
{'statusCode': 200, 'numHits': 1631, 'hits': [{'lastSeen': '2019-09-25', 'imageHeight': 360,
一个完整的例子是:
import requests response = requests.get('your_url') your_data = response.json() print(your_data['numHits'])
如果仍要使用regex,这里有一个仅用于正数值:
import re json_str = "{'statusCode': 200, 'numHits': 1631, 'hits': [{'lastSeen': '2019-09-25', 'imageHeight': 360,..." r = re.compile(r"'numHits':\s+(\d+)") res = r.search(json_str) # <_sre.SRE_Match object; span=(20, 35), match="'numHits': 1631"> res.group(1) # '1631' # be careful with non maching strings res = r.search("asd") # None res.group(1) # -> AttributeError: 'NoneType' object has no attribute 'group'
假设问题中的JSON是错误的复制/粘贴,而实际数据是有效的JSON。。。你知道吗
如果你的答案是一本简单的词典,请使用:
print(json_data['numHits'])
如果这是来自http响应的字符串,您可以使用:
json_data = response.json() print(json_data['numHits'])
如果不是来自http响应的字符串,请使用:
import json json_data = json.loads(variable_containing_data) print(json_data['numHits'])
一个完整的例子是:
如果仍要使用regex,这里有一个仅用于正数值:
假设问题中的JSON是错误的复制/粘贴,而实际数据是有效的JSON。。。你知道吗
如果你的答案是一本简单的词典,请使用:
如果这是来自http响应的字符串,您可以使用:
如果不是来自http响应的字符串,请使用:
相关问题 更多 >
编程相关推荐