\d
is just one digit.
This regular expression doesn’t match the "123-456-7890"
string but it would match "323"
(which could be part of a greater string, for example "323-456-7890"
) :
(\d) : first digit ("3")
\d : another digit ("2")
\1 : first group (which was "3")
Now, if your book pretends that (\d)\d\1
should capture "123"
in "123-456-7890"
, then it might contain an error…