我正在尝试使用此正则表达式从另一个字符串中获取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:字符范围错误
提前致谢
答案 0 :(得分:1)
你错放了match
方法中的参数,正则表达式首先应该出现。
re.match("YAHOO.Finance.SymbolSuggest.ssCallback\((.*?)\)", data)
re.match(pattern, string, flags=0)
显示错误,因为z-A
中很可能有一些data
类型的范围。