regex_t regex;
int reti;
char msgbuf[100];
/* Compile regular expression, if two vowels it should be ok */
reti = regcomp(®ex, "[aoueiy].{2}", 0);
if (reti){
fprintf(stderr, "Could not compile regex\n");
exit(1);
}
/* Execute regular expression */
reti = regexec(®ex, "ao", 0, NULL, 0);
if (!reti) {
puts("Match");
}
else if (reti == REG_NOMATCH) {
puts("No match");
}
Я пытаюсь написать выражение, которое должно принимать строку, содержащую не менее двух гласных. Вот мой код, строка ao дает мне «Нет совпадения». Я новичок в регулярных выражениях и считаю, что руководство трудно использовать. Очень благодарен за любую помощь или советы.