I agree that some hints would be helpful, as this was my hardest challenge so far on fCC.
Alternatively, a less complex problem combining ‘|’ and ‘*’ operators might have made this challenge feel more approachable.
I was finally able to crack it after I rewrote the requirements based on the different test strings:
// case 1: 2+ letter username.
// case 2: 3+ character username beginning with 2 or more letters, ending with 1 or more digit.
// case 3: 3+ character username beginning with 1 or more letters, ending with 2 or more digits.
Afterwards I saw solutions with only one ‘|’ operator, so seems its possible to tighten the logic here.
I feel very disappointed by the difficulty of this challenge. I needed a previous challenge to show the logical connecting up of the various requirements, ESPECIALLY how to refer to excluding non-alpha-numeric characters, when previous easy challenges merely involved searching for the presence of something in a string.