Regex 101:
[0-9] matches a single character, which must consist of the digits 0 through 9
[0-9]+ matches 1 or more characters, all of which must be the digits 0 through 9
[0-9]* matches 0 or more characters, all of which must be the digits 0 through 9
[0-9]{n,m} matches at least 'n' chars, up to 'm' chars, all which must be 0 through 9
[0-9]{n,} matches at least 'n', with no upper limit, etc...
[0-9]{,m} matches at MOST 0 up to 'm' worth of characters.
which implies the following equivalencies:
[0-9] [0-9]{1}
[0-9]* [0-9]{0,}
[0-9]+ [0-9]{1,}
and \d
is a convenience, a shortcut which is equivalent to [0-9]
and just means "digits".