婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式匹配路由的實現代碼

正則表達式匹配路由的實現代碼

熱門標簽:甘肅醫療外呼系統排名 呼叫系統外呼只能兩次 外呼系統無呼出路由是什么原因 400電話辦理電話辦理 地圖標注教學點 梅縣地圖標注 貴港公司如何申請400電話 ai電話機器人搭建 西藏智能外呼系統代理商

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

具體實現步驟為:

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

代碼實現

導入轉換器基類

from werkzeug.routing import BaseConverter

自定義轉換器

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

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

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

使用轉換器去實現自定義匹配規則

當前此處定義的規則是:3位數字

@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不符合規則,會提示找不到頁面

系統自帶轉換器

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

系統自帶的轉換器具體使用方式在每種轉換器的注釋代碼中有寫,要注意每種轉換器初始化的參數。

總結

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

您可能感興趣的文章:
  • js正則表達式 匹配兩個特定字符間的內容示例
  • 正則表達式之匹配數字范圍
  • PHP preg_match實現正則表達式匹配功能【輸出是否匹配及匹配值】
  • Java正則表達式(匹配、切割、替換、獲取)等方法
  • C#正則表達式匹配與替換字符串功能示例
  • JS匹配日期和時間的正則表達式示例
  • 正則表達式實現字符的模糊匹配功能示例
  • 正則表達式匹配括號外的符號及數據

標簽:泰安 海口 哈密 大興安嶺 湖州 涼山 本溪 常州

巨人網絡通訊聲明:本文標題《正則表達式匹配路由的實現代碼》,本文關鍵詞  正則,表達式,匹配,路由,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式匹配路由的實現代碼》相關的同類信息!
  • 本頁收集關于正則表達式匹配路由的實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 根河市| 汕头市| 新兴县| 樟树市| 邢台县| 南丹县| 黔江区| 房产| 浦北县| 潞西市| 郁南县| 诸城市| 石屏县| 四会市| 宁夏| 泗阳县| 泰安市| 盈江县| 赤壁市| 奉新县| 日喀则市| 山阴县| 安福县| 无极县| 汶上县| 衡阳县| 横山县| 包头市| 阜宁县| 大丰市| 公安县| 德格县| 来凤县| 西林县| 黄山市| 云林县| 南澳县| 静安区| 永平县| 苍梧县| 福建省|