Is there any way to make rule allow only example 1 and 3 and not all 4 of them?
/^(en\/|)([\d]{1,3})([-])(.+?)([\/])$/
examples:
- 12-blog/
- 12-blog/blog2/
- en/12-blog/
- en/12-blog/blog2/
Is there any way to make rule allow only example 1 and 3 and not all 4 of them?
/^(en\/|)([\d]{1,3})([-])(.+?)([\/])$/
examples:
You might use an optional part for en/ followed by match 1-3 digits, - and match not a / 1+ times using a negated character class.
Note that you can omit the square brackets for [\d], [-] and [\/]. If you choose a different delimiter than / you don't have to escape the forward slash.
^(?:en/)?\d{1,3}-[^/]+/$
In parts
^ Start of string(?:en/)? Optionally match en/\d{1,3} Match 1-3 digits- Match literally[^/]+/ Match 1+ times any char except /$ End of string