ASP.NET Url Rewriting web.config rule - RegEx help for product url

I have a rule set in the web.config I'm struggling to rewrite some query string parameters and wondered if someone could help.

What I have so far

<rule name="HandleProducts" stopProcessing="true">
          <match url="shop/products/^([^.]+)$/(?:price/([^/]*)?/)?(?:size/([^/]*)?/)?(?:colour/([^/]*)?/)?(?:occasion/([^/]*)?/)(?:brand/([^/]*)?/)" />
          <action type="Rewrite" url="shop/products/^([^.]+)$//?price={R:1}&amp;size={R:2}&amp;colour-type={R:3}&amp;occasion={R:3}&amp;brand={R:3}" />
        </rule>

I'm trying to achieve the following:

domain.com/shop/products/poloshirts/price/l-h/colour/blue

However, the part after the /shop/products/ section could be anything:

for instance

domain.com/shop/products/hoodies/price/l-h/colour/green/brand/nike

or

domain.com/shop/products/t-shirts/price/h-l/colour/red

How can I account for the part after the /shop/products/ in the rewrite rule?