Home > Software design >  Azure frontdoor compliant RegEx rule for /users/*
Azure frontdoor compliant RegEx rule for /users/*

Time:08-24

I'm trying to create a "Azure front door" compliant regex that matches /users/* URL pathname patterns. But not /users/*/ or /users/*/profile or /users/*/<anything at all>

I've tried without escaping as it looks like front door escapes for you.

^/users/([^/] ?)(?:/)?$  

and this

^/users/[^/] ?$

But this doesn't work, I'm assuming because of the "?" which would count as a back reference? Any ideas on how to create a compliant regex, happy to try anything for anyone who doesn't have front door to test.

docs: https://docs.microsoft.com/en-us/azure/frontdoor/rules-match-conditions?pivots=front-door-standard-premium&tabs=portal#regular-expressions

=== EDIT ===

Iv'e accepted the below answer, but I think the culprit is RegEx's matching a preceeding "/", every other operator in front door rules seems to want a preceeding "/" except RegEx, without this it seems to work as expected in some basic testing.

With this in mind I've accepted the below answer but I have a feeling (without trying) that some of the original formats will work.

CodePudding user response:

You need to use

^/users/[^/\s] $

Details

  • ^ - start of string
  • /users/ - a fixed string
  • [^/\s] - one or more chars other than / and whitespace
  • $ - end of string.
  • Related