Repeating variable length segments in Regex

I’m trying to match the following with this Regexp:

/(?<route>(?:.*/){1,2}?)(?<group>(?:.*/){1,2}+)?/
  • route/group/
  • route1/route2/group/group2/
  • route/group1/group2/
  • route/

Tried to make the first group lazy and the second one greedy and optional but it doesn’t match. What am I missing?