首页 > 其他 > 详细

Flask路由中使用正则表达式匹配

时间:2020-03-17 15:26:27      阅读:84      评论:0      收藏:0      [点我收藏+]

1.说明

由于flask并不支持直接使用正则表达式来匹配路由,我们可以使用werkzeug.routing的BaseConverter来实现

 

2.代码

from flask import Flask
#而在某些特定的需求下,需要动态匹配一些有特殊要求的字符,这就可以考虑用正则表达式的方式传入
from werkzeug.routing import BaseConverter

#编写正则转化的类
class RegexConverter(BaseConverter):
    def __init__(self, url_map,*items):
        super(RegexConverter,self).__init__(url_map)
        self.regex = items[0]

app = Flask(__name__)
#初始化转换器
app.url_map.converters[reg] = RegexConverter

@app.route(/user/<reg("[a-z]{3}-\d{5,6}"):user_id>)
def user(user_id):
    return user id : %s %user_id

if __name__ == __main__:
    app.run()

 

其中路由中使用的reg字符串表示匹配 三个小写英文字母开头,中间短横,末尾以5到6位的数字结尾 ,效果如图
技术分享图片

 

 

 

 

Flask路由中使用正则表达式匹配

原文:https://www.cnblogs.com/yuanfang0903/p/12510707.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!