#include <sys/types.h>
#include <regex.h>
#include <stdio.h>
int main(int argc, char *argv[]){ regex_t regex;
int reti;
char msgbuf[100];
/* Compile regular expression */
reti = regcomp(®ex, "[a-c]{2}", REG_EXTENDED);
if( reti
){ fprintf(stderr
, "Could not compile regex\n"); return(1); }
/* Execute regular expression */
reti = regexec(®ex, "ab", 0, NULL, 0);
if( !reti ){
}
else if( reti == REG_NOMATCH ){
}
else{
regerror(reti, ®ex, msgbuf, sizeof(msgbuf));
fprintf(stderr
, "Regex match failed: %s\n", msgbuf
); return 1;
}
/* Free compiled regular expression if you want to use the regex_t again */
regfree(®ex);
return 0;
}
ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICAjaW5jbHVkZSA8cmVnZXguaD4KICAjaW5jbHVkZSA8c3RkaW8uaD4KCgogICBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKXsgcmVnZXhfdCByZWdleDsKICAgICAgICBpbnQgcmV0aTsKICAgICAgICBjaGFyIG1zZ2J1ZlsxMDBdOwoKICAgICAgICAvKiBDb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAqLwogICAgICAgIHJldGkgPSByZWdjb21wKCZyZWdleCwgIlthLWNdezJ9IiwgUkVHX0VYVEVOREVEKTsKICAgICAgICBpZiggcmV0aSApeyBmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBjb21waWxlIHJlZ2V4XG4iKTsgcmV0dXJuKDEpOyB9CgogICAgICAgIC8qIEV4ZWN1dGUgcmVndWxhciBleHByZXNzaW9uICovCiAgICAgICAgcmV0aSA9IHJlZ2V4ZWMoJnJlZ2V4LCAiYWIiLCAwLCBOVUxMLCAwKTsKICAgICAgICBpZiggIXJldGkgKXsKICAgICAgICAgICAgICAgIHB1dHMoIk1hdGNoIik7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIHJldGkgPT0gUkVHX05PTUFUQ0ggKXsKICAgICAgICAgICAgICAgIHB1dHMoIk5vIG1hdGNoIik7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICByZWdlcnJvcihyZXRpLCAmcmVnZXgsIG1zZ2J1Ziwgc2l6ZW9mKG1zZ2J1ZikpOwogICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJSZWdleCBtYXRjaCBmYWlsZWQ6ICVzXG4iLCBtc2didWYpOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQoKICAgICAgIC8qIEZyZWUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgcmVnZXhfdCBhZ2FpbiAqLwogICAgICAgIHJlZ2ZyZWUoJnJlZ2V4KTsKCiAgICAgICAgcmV0dXJuIDA7Cn0=