Frozen Coyote,
. -один любой символ, кроме новой строки
* - совпадение выражения 0 или более раз
? - совпадение выражения 0 или 1 раз
Ссылка
Т.е. может и не быть символа вообще. Не понятно, зачем проверять на 0 или более (*), а потом на 0 или 1 совпадение(?).