i using following regular expression
/^(?p<prefix>admin{1})?[\/]?(?p<controller>[a-z-]+)[\/]?(?p<method>[a-z-]+)[\/]?(?p<parameters>[a-z0-9-\/]+(?=\/page))?[\/]?page\/(?p<page>[0-9]+)?$/i
i want find match using following:
controller/method/parameters/another/something
controller = controller, method = method, parameters = parameters/another/something
but if supplied argument is
controller/method/parameter/another/something/page/1
it should return:
controller = controller, method = method, parameters = parameter/another/something, page = 1
i getting match if supply page/1
argument. debugging wrong regex?
a lookahead can't optional, , parameter regex greedy. solve problem switching positions of page
, parameters
if page
not mandatory parameter!
(and additionally don't need square brackets around escaped slashes!)
Comments
Post a Comment