欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

正則表達式匹配路由的實現(xiàn)代碼

 更新時間:2018年07月13日 16:13:48   作者:__S k y L a r k  
這篇文章主要介紹了正則表達式匹配路由的實現(xiàn)代碼,代碼也很簡單,感興趣的朋友參考下本文

在 web 開發(fā)中,可能會出現(xiàn)限制用戶訪問規(guī)則的場景,那么這個時候就需要用到正則匹配,根據(jù)自己的規(guī)則去限定請求參數(shù)再進行訪問

具體實現(xiàn)步驟為:

  • 導入轉(zhuǎn)換器基類:在 Flask 中,所有的路由的匹配規(guī)則都是使用轉(zhuǎn)換器對象進行記錄
  • 自定義轉(zhuǎn)換器:自定義類繼承于轉(zhuǎn)換器基類
  • 添加轉(zhuǎn)換器到默認的轉(zhuǎn)換器字典中
  • 使用自定義轉(zhuǎn)換器實現(xiàn)自定義匹配規(guī)則

代碼實現(xiàn)

導入轉(zhuǎn)換器基類

from werkzeug.routing import BaseConverter

自定義轉(zhuǎn)換器

# 自定義正則轉(zhuǎn)換器
class RegexConverter(BaseConverter):
  def __init__(self, url_map, *args):
    super(RegexConverter, self).__init__(url_map)
    # 將接受的第1個參數(shù)當作匹配規(guī)則進行保存
    self.regex = args[0]

添加轉(zhuǎn)換器到默認的轉(zhuǎn)換器字典中,并指定轉(zhuǎn)換器使用時名字為: re

app = Flask(__name__)
# 將自定義轉(zhuǎn)換器添加到轉(zhuǎn)換器字典中,并指定轉(zhuǎn)換器使用時名字為: re
app.url_map.converters['re'] = RegexConverter

使用轉(zhuǎn)換器去實現(xiàn)自定義匹配規(guī)則

當前此處定義的規(guī)則是:3位數(shù)字

@app.route('/user/<re("[0-9]{3}"):user_id>')
def user_info(user_id):
  return "user_id 為 %s" % user_id

  運行測試:http://127.0.0.1:5000/user/123 ,如果訪問的url不符合規(guī)則,會提示找不到頁面

系統(tǒng)自帶轉(zhuǎn)換器

DEFAULT_CONVERTERS = {
  'default':     UnicodeConverter,
  'string':      UnicodeConverter,
  'any':       AnyConverter,
  'path':       PathConverter,
  'int':       IntegerConverter,
  'float':      FloatConverter,
  'uuid':       UUIDConverter,
}

系統(tǒng)自帶的轉(zhuǎn)換器具體使用方式在每種轉(zhuǎn)換器的注釋代碼中有寫,要注意每種轉(zhuǎn)換器初始化的參數(shù)。

總結(jié)

以上所述是小編給大家介紹的正則表達式匹配路由的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • js正則表達式中的問號幾種用法小結(jié)

    js正則表達式中的問號幾種用法小結(jié)

    這篇文章主要介紹了js正則表達式中的問號幾種用法,比如+?,*?,{2,3}?可以停止匹配的貪婪模式,感興趣的朋友可以參考下
    2014-09-09
  • Web?前端常用正則校驗規(guī)則整理(常用示例)

    Web?前端常用正則校驗規(guī)則整理(常用示例)

    這篇文章主要介紹了Web前端常用正則校驗規(guī)則,本文給大家整理一些常見的示例供大家學習參考,需要的朋友可以參考下
    2023-05-05
  • 一行正則表達式判斷質(zhì)數(shù)的代碼

    一行正則表達式判斷質(zhì)數(shù)的代碼

    這篇文章主要介紹了一行正則表達式判斷質(zhì)數(shù),其實這個正則性能非常差(窮舉法),實用性不高,但是思路很讓人驚艷,需要的朋友可以參考下
    2022-05-05
  • 寫出高效率的正則表達式技巧總結(jié)

    寫出高效率的正則表達式技巧總結(jié)

    有相當大的一部分程序員他們只考慮如何能盡快把活干完,從來不考慮如何使自己的代碼更完美,更高效,這樣的程序員永遠也達不到一定的高度。當然,在寫正則表達式的時候,我們首先要保證準確性,其次才是效率問題。下面是一些提高正則表達式效率的小竅門。
    2015-09-09
  • 正則表達式匹配不包含某些字符串的技巧

    正則表達式匹配不包含某些字符串的技巧

    這篇文章主要介紹了正則表達式匹配不包含某些字符串的技巧,詳細分解了應(yīng)該怎么做和這么做的原因,需要的朋友可以參考下
    2014-07-07
  • 常用正則表達式 比較實用

    常用正則表達式 比較實用

    正則表達式用于字符串處理、表單驗證等場合,實用高效。現(xiàn)將一些常用的表達式收集于此,以備不時之需。
    2009-03-03
  • 關(guān)于.*匹配和.*?匹配的區(qū)別解析

    關(guān)于.*匹配和.*?匹配的區(qū)別解析

    這篇文章主要介紹了關(guān)于.*匹配和.*?匹配的區(qū)別,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 正則表達式教程之模式修正符使用介紹

    正則表達式教程之模式修正符使用介紹

    式修正符就是幾個字母,我們在每個正則表達式中可以一次使用一個,也可以連續(xù)使用多個,每一個具一定的意義
    2012-10-10
  • 深入分析正則表達式的子模式

    深入分析正則表達式的子模式

    在正則表達式中,可以使用“(”和“)”將模式中的子字符串括起來,以形成一個子模式。將子模式視為一個整體時,那么它就相當于一個單個字符。下面我們就來詳細了解下子模式
    2016-04-04
  • 正則表達式中的正向預查和負向預查

    正則表達式中的正向預查和負向預查

    這篇文章主要介紹了正則表達式中的正向預查和負向預查,本文通過幾個場景給大家分析 ,需要的朋友可以參考下
    2019-08-08

最新評論