我有一个 JSON 字符串,如下所示:
jsonstring = '{"key1": "comma,separated,things": "comma,separated,things", "key3": "semi;colon;separated;things"}'
我想在 jinja 模板中使用它,例如:
{{", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")}}
显然这不起作用。
该字符串直接来自 sqlalchemy 模型,我无法通过 python 对其进行处理。有没有办法做到这一点并避免使用 javascript 处理它?</p>
最佳答案
首先,在 Python 中定义一个新函数:
def regex(jsonstring):
return ", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")
然后,将其定义为 Jinja 过滤器(在 Python 中执行此操作,必须在定义函数之后):
app.jinja_env.filters['regex'] = regex
最后,在Jinja模板中使用它:
{{ jsonstring|regex }}
关于python - 在 jinja 中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33685233/