How to check urls againts a predefined list of regex rules in order to get a match in python? -


i'm trying match url request have literal components , variable components in path list of predefined regex rules. similar routes python library. i'm new regex if explain anchors , control characters used in regex solution appreciate it.

assumming have following list of rules. components containing : variables , can match string value.

(rule 1) /user/delete/:key (rule 2) /user/update/:key (rule 3) /list/report/:year/:month/:day (rule 4) /show/:categoryid/something/:key/reports 

here example test cases show request urls , rules should match

/user/delete/222 -> matches rule 1 /user/update/222 -> matches rule 2 /user/update/222/bob -> not match rule defined /user -> not match rule defined /list/report/2004/11/2 -> matches rule 3 /show/44/something/222/reports -> matches rule 4 

can me write regex rules rule 1,2,3,4 ?

thank you!!

i'm not sure why need regex that. can split , count:

if len(url.split("/")) == 4:     # 

you make sure length 4 because there's additional element @ beginning empty string.

of using like:

if url.count("/") == 3:     # 

if want use regex, them maybe use this:

if re.match(r'^(?:/[^/]*){3}$', url):     # 

as per edit:

you use rule 1:

^/user/delete/[0-9]+$ 

for rule 2:

^/user/update/[0-9]+$ 

for rule 3:

^/list/report/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}$ 

for rule 4:

^/show/[0-9]+/something/[0-9]+/reports$ 

^ matches beginning of string. $ matches end of string. together, make sure string testing begins , ends regex; there's nothing before or after 'template'.

[0-9] matches 1 digit.

+ quantifier. allow repetition of character or group before it. [0-9]+ means 1 or more digits.

{4} fixed quantifier. bit +, repeats 4 times. {1,2} variation of it, means between 1 , 2 times.

all other characters in regex above literal characters , match themselves.


Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -