在神社中使用正则表达式

Using regex in jinja

我有一个 JSON 字符串,如下所示:

jsonstring = '{"key1": "comma,separated,things": "comma,separated,things", "key3": "semi;colon;separated;things"}'

我想在像这样的神社模板中使用它:

{{", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")}}

显然那没有用。

该字符串直接来自 sqlalchemy 模型,我无法从 python 对其进行处理。有没有办法做到这一点并避免使用 javascript?

处理它

首先,在Python中定义一个新函数:

def regex(jsonstring):
    return ", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")

然后,将其定义为 Jinja 过滤器(在 Python 中执行此操作,必须在定义函数之后):

app.jinja_env.filters['regex'] = regex

最后,在 Jinja 模板中使用它:

{{ jsonstring|regex }}