Difference between regex [A-z] and [a-zA-Z]
[A-z]
will match ASCII characters in the range from A
to z
, while [a-zA-Z]
will match ASCII characters in the range from A
to Z
and in the range from a
to z
. At first glance, this might seem equivalent -- however, if you look at this table of ASCII characters, you'll see that A-z
includes several other characters. Specifically, they are [
, \
, ]
, ^
, _
, and `
(which you clearly don't want).
When you take a look at the ASCII table, you will see following:
A = 65
Z = 90
a = 97
z = 122
So, [A-z]
will match every char from 65 to 122. This includes these characters (91 -> 96
) as well:
[\]^_`
This means [A-Za-z]
will match only the alphabet, without the extra characters above.