如何在Jinja2的if语句中使用正则表达式进行前缀判断?
Jinja2 正则匹配实现条件输出
完全可以实现这个逻辑,你可以借助Jinja2的regex_search过滤器完成正则校验,具体写法如下:
{% for key, value in notes.items() -%} {% if value|regex_search('^https?://') -%} ~*^/{{ key }}(\?.*)?$ {{ value }}; {% else -%} ~*^/{{ key }}(\?.*)?$ /{{ value }}; {% endif -%} {% endfor %}
关键说明:
regex_search('^https?://'):正则里的^匹配字符串开头,https?表示匹配http或https(?让s字符可选),://对应协议后的固定部分,整体用来校验value是否以http/https开头。-%}:用于移除语句后的换行符,确保生成的规则每行紧凑,无多余空行。- 保留了你原本的输出格式,仅在条件判断环节加入正则校验逻辑。
内容的提问来源于stack exchange,提问作者MBA
相关产品推荐
相关产品推荐

