[英]Regular expression to match one or more patterns matching another regular expression
我在Django URL配置中使用正則表達式。 我有以下正則表達式:
url(r'^myapp/prices/?([X]{1}[A-Z0-9]{3}:[A-Z0-9]{1}[A-Z09.-]{1,4})/?([0-9]{0,3})/?$', views.prices, name='prices'),
這與以下網址匹配:
我想在url模式中修改我的regex模式,以便可以匹配上面的字符串以及下面的字符串:
htpp://127.0.0.1/myapp/prices/XNAS:GOOG + XNAS:TSLA + XNAS:FB / 1
本質上,我希望原始模式至少匹配一次,如果不止一次匹配,則該模式的出現應以'+'號分隔。
我將如何使用正則表達式語法(Python)來表達這一點
repeatable = r'[X]{1}[A-Z0-9]{3}:[A-Z0-9]{1}[A-Z09.-]{1,4}'
url_regex = r'^myapp/prices/?(' + re.escape(repeatable) + r')(\+' + re.escape(repeatable) + r')*/?([0-9]{0,3})/?$'
url(url_regex, views.prices, name='prices')
但是我認為這更加復雜:
url(r'^myapp/prices/?([X]{1}[A-Z0-9]{3}:[A-Z0-9]{1}[A-Z09.-]{1,4})(\+?[X]{1}[A-Z0-9]{3}:[A-Z0-9]{1}[A-Z09.-]{1,4})*/?([0-9]{0,3})/?$', views.prices, name='prices'),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.