#include <stdio.h>
#include <regex.h>

static const char string[] = "Abcde19:36zxc. Aasd 01:12 yyy. Qqq 24:45=0.53. Takie dela. 11:17 00:00, odnako."; // пример строки
static const char pattern[] = "(([0-1][0-9])|(2[0-3])):([0-5][0-9])"; // регулярное выражение для времени

int main(void)
{
	regex_t preg;
	regcomp(&preg, pattern, REG_EXTENDED);
	regmatch_t m;
	for (const char *p = string; !regexec(&preg, p, 1, &m, 0); p += m.rm_eo) {
		printf("%.*s\n", m.rm_eo - m.rm_so, p + m.rm_so);
	}
	regfree(&preg);
	return 0;
}