#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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxyZWdleC5oPgoKc3RhdGljIGNvbnN0IGNoYXIgc3RyaW5nW10gPSAiQWJjZGUxOTozNnp4Yy4gQWFzZCAwMToxMiB5eXkuIFFxcSAyNDo0NT0wLjUzLiBUYWtpZSBkZWxhLiAxMToxNyAwMDowMCwgb2RuYWtvLiI7IC8vINC/0YDQuNC80LXRgCDRgdGC0YDQvtC60LgKc3RhdGljIGNvbnN0IGNoYXIgcGF0dGVybltdID0gIigoWzAtMV1bMC05XSl8KDJbMC0zXSkpOihbMC01XVswLTldKSI7IC8vINGA0LXQs9GD0LvRj9GA0L3QvtC1INCy0YvRgNCw0LbQtdC90LjQtSDQtNC70Y8g0LLRgNC10LzQtdC90LgKCmludCBtYWluKHZvaWQpCnsKCXJlZ2V4X3QgcHJlZzsKCXJlZ2NvbXAoJnByZWcsIHBhdHRlcm4sIFJFR19FWFRFTkRFRCk7CglyZWdtYXRjaF90IG07Cglmb3IgKGNvbnN0IGNoYXIgKnAgPSBzdHJpbmc7ICFyZWdleGVjKCZwcmVnLCBwLCAxLCAmbSwgMCk7IHAgKz0gbS5ybV9lbykgewoJCXByaW50ZigiJS4qc1xuIiwgbS5ybV9lbyAtIG0ucm1fc28sIHAgKyBtLnJtX3NvKTsKCX0KCXJlZ2ZyZWUoJnByZWcpOwoJcmV0dXJuIDA7Cn0=