Проходите тест кое-где? ;)
Дело в том, что все это является строкой и соответствует первому спецификатору %s. Насколько мне известно, эти спецификаторы все жадные и нет опции сделать их не жадными. Для того, чтобы дефис не попадал, можно вместо %s использовать, например %[^\-].