簡體   English   中英

正則表達式將字母數字與特殊字符匹配

[英]Regex matching alphanumeric with special characters

我正在嘗試在Django URL模式中形成一個URL。

   url(r'^reports/(?P<bu>\w+|\W)/$', \
                LrsReportView.as_view(), name="elearning.lrsreports.region"),  

bu可以是字符串或字符串,字母數字或帶有特殊字符的字母數字(/除外)

但是上面的URL顯示錯誤

NoReverseMatch: Reverse for 'elearning.lrsreports.region' with arguments '(u'Lawn&Garden',)' and keyword arguments '{}' not found.

從我理解的錯誤是這個正則表達式不接受具有特殊字符的字符串

請幫我解決這里可能出什么問題。

您當前的RegEx將匹配:

  • 一串包含一個或多個字母,數字和/或下划線的字符串:[A-Za-z0-9 _] +

要么

  • 不是字母,數字或下划線的單個字符。 [^ A-ZA-Z0-9_]

您可能需要更多類似的東西:

(?P<bu>[\w-]+)

這將匹配字母,數字,下划線和連字符。 還要添加其他所需的特殊字符(在方括號內)。 記住某些字符需要在它們之前使用\\進行轉義。

嘗試這個-

/ ^(?=。 [az])(?=。 [AZ])(?=。 \\ d)(?=。 (_ | [^ \\ w]))。+ $ /

暫無
暫無

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

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