Flask路由中使用正則表達(dá)式匹配

由于flask并不支持直接使用正則表達(dá)式來(lái)匹配路由,我們可以使用werkzeug.routing的BaseConverter來(lái)實(shí)現(xiàn)

代碼:

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字符串表示匹配 三個(gè)小寫英文字母開頭,中間短橫,末尾以5到6位的數(shù)字結(jié)尾

效果如圖:

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識(shí)依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,257評(píng)論 0 20
  • 前言 作為一個(gè)程序員,要出去裝逼,手中必備的技能就是正則表達(dá)式。程序員的正則表達(dá)式,醫(yī)生的處方和道士的鬼畫符,都是...
    Layzimo閱讀 686評(píng)論 0 6
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,408評(píng)論 22 257
  • 什么是正則表達(dá)式 正則表達(dá)式(regular expression)描述了一種字符串匹配的模式(pattern),...
    小貔閱讀 1,798評(píng)論 0 7
  • 如果真的沒在一起 你也別難過 失去的東西 就順其自然吧 轉(zhuǎn)身的方式有很多 糾纏是最不酷的一種
    依舊那個(gè)子晗閱讀 301評(píng)論 0 0

友情鏈接更多精彩內(nèi)容