В общем, регулярные выражения не подходят для такого рода проблем. Лучше использовать конечный автомат.