На самом деле ответ Benjamin приведет к полному решению вопроса OP. Используя lookaheads, можно ограничить общее количество символов и ограничить соответствие заданной комбинацией букв и (необязательных) одиночных пробелов.
Регулярное выражение, которое решает всю проблему, станет
(?=^.{3,30}$)^([A-Za-z][\s]?)+$
Это будет соответствовать AAA
, A A
, а также не будет соответствовать AA A
, так как есть два последовательных пробела. Я тестировал это на http://regexpal.com/ , и это делает трюк.