I have following regex.
/^(.*[^0-9])(.[a-z] [0-9] [a-z0-9]*|[0-9] [a-z] [a-z0-9]*{3,})(.*)$/gm
I basically want to match alphanumeric groups in an URL which are greater than 2 characters in length. So basically:
In the URL: /version/a1/type/eg1234/abc
, eg1234
should match since its alphanumeric and greater than 2 in length.
However, while my alphanumeric match logic seems to be working fine, the length condition i.e. {3,}
isn't being satisfied, as in e.g. /version/a1/type/
, the regex also matches a1
which it shouldn't as its less than 2 characters in length.
Please help me in correcting my regex.
CodePudding user response:
Try:
(?=\d [a-z][a-z\d]*|[a-z\d]*[a-z]\d)[a-z\d]{3,}
This will match only eg1234
in /version/a1/type/eg1234/abc
CodePudding user response:
Try:
/\b(?=[a-zA-Z0-9]{4,})(?=(?:[^\/\d]*\d){4,})([^\/]{3,})/