# Regular Expressions problem

Why does the first regExp works for “A1”, but the second one doesn’t?
The only difference is that there is an extra \d in the first one, but I can’t figure out how that is important. In the second regExp after the ''or" operator, it says find the string that begins with a letter from the alphabet and then it gets followed by one or more numbers that are supposed to be in the end. Shouldn’t it match positive for A1? Actually my question is why it doesn’t?

``````
let userCheck = /^[a-z][a-z]+\d*\$|^[a-z]\d\d+\$/i; // First regExp
let userCheck = /^[a-z][a-z]+\d*\$|^[a-z]\d+\$/i; // Second regExp

``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36`.

`\d` on its own looks for exactly 1 numerical digit.

`\d+` looks for 1 or more digit.

So `\d\d+` would look for 2 or more digits.

In your question `A1` has only 1 digit.

1 Like

That still doesn’t make sense to me, if `\d\d+` means 2 or more digits and `\d+` looks for 1 or more, then how does the first one matches A1 but the second one doesn’t?

The first one:

``````let userCheck = /^[a-z][a-z]+\d*\$|^[a-z]\d\d+\$/i; // First regExp
``````

does not match `A1` (which is what the challenge is asking for)

1 Like

Oh…my apologies…it said should not match, I’m so sorry. Thanks a lot for your patience good sir!

There’s a really great tool called Regex101 that you could use to check stuff like this. It breaks down what each part of the syntax does. I put your second regex into it here: https://regex101.com/r/3UjK6g/

1 Like

/i at the end makes the regex case insensitive so the careful work you put into [a-z] doesn’t take effect.