我正在尝试使用此正则表达式从另一个字符串获取 JSON 字符串:
YAHOO.Finance.SymbolSuggest.ssCallback\((.*?)\)
它适用于 regex101.com ,但是当我在我的代码中使用它时:
import re
import json
import requests
def stock_lookup(name):
url = "http://autoc.finance.yahoo.com/autoc?query={0}&callback=YAHOO.Finance.SymbolSuggest.ssCallback".format(name)
response = requets.get(url)
json_data = json.loads(re.match(data,"YAHOO.Finance.SymbolSuggest.ssCallback\((.*?)\)"))
return json_data
我收到这个错误:
sre_constants.error: bad character range
提前致谢
最佳答案
您在 match
方法中放错了参数,正则表达式应该放在第一位。
re.match("YAHOO.Finance.SymbolSuggest.ssCallback\((.*?)\)", data)
re.match(pattern, string, flags=0)
显示错误是因为 data
中很可能存在某种 z-A
类型的范围。
关于python - 正则表达式 sre_constants.error : bad character range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30797581/