簡體   English   中英

Python RegEx:如何有條件地匹配 URL 中的多個可選結尾字符

[英]Python RegEx: How to conditionally match multiple optional ending characters in a URL

我必須匹配我的 Django re_path function 中的 URL。

要匹配的結構如下:

  1. 任何 URL 必須以/profile/user/profile開頭
  2. 任何 URL 必須以profileprofile/profile/blabla結尾

下面是允許 URL 的示例:

  • /輪廓
  • /輪廓/
  • /個人資料/asd
  • /個人資料/asd/
  • /用戶資料
  • /用戶資料/
  • /用戶/個人資料/asd
  • /用戶/個人資料/asd/

我嘗試了以下方法,但失敗了:

re_path(r'^profile/?.*$', views.my_view)

任何幫助表示贊賞,謝謝!

您可以使用

^/(?:user/)?profile(?:/(?:[^/]+/?)?)?$

請參閱正則表達式演示 詳情

  • ^ - 字符串的開頭
  • / - 一個/字符
  • (?:user/)? - 一個可選的user/字符串
  • profile - 一個固定的字符串
  • (?:/(?:[^/]+/?)?)? - 一個可選的序列
    • / - 一個/字符
    • (?:[^/]+/?)? - 除/之外的任何一個或多個字符的可選序列,然后是可選的/字符
  • $ - 字符串結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM