check_domain_regex()
int check_domain_regex(char *pStr)
{
/* ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ */
#define DOMAIN_REGULAR_EXPRESSION "^\\([a-zA-Z0-9]\\([a-zA-Z0-9-]\\{0,61\\}[a-zA-Z0-9]\\)\\?\\.\\)\\+[a-zA-Z0-9]\\{1,6\\}$"
regex_t regex;
int reti;
char msgbuf[100];
if(!pstr)
{
return 0;
}
reti = regcomp(®ex, DOMAIN_REGULAR_EXPRESSION, 0);
if( reti )
{
fprintf(stderr, "Could not compile regex\n");
return 0;
}
reti = regexec(®ex, pstr, 0, NULL, 0);
if( !reti ){
// puts("Match");
return 1;
}
else if( reti == REG_NOMATCH ){
// puts("No match");
return 0;
}
else{
regerror(reti, ®ex, msgbuf, sizeof(msgbuf));
fprintf(stderr, "Regex match failed: %s\n", msgbuf);
return 0;
}
return 0;
}