#include <stdio.h>
#include <regex.h>
int isValidFormat(const char *s) {
regex_t regex;
const char *pattern = "^[0-9]{3}-[0-9]{3}-[0-9]{4}$";
int result = regcomp(®ex, pattern, REG_EXTENDED);
if (result) {
fprintf(stderr, "Could not compile regex\n");
return 0;
}
result = regexec(®ex, s, 0, NULL, 0);
regfree(®ex);
if (!result) {
return 1;
} else {
return 0;
}
}
int main() {
const char *s;
s = "771-290-1652";
if (isValidFormat(s)) {
printf("Valid\n");
} else {
printf("Not Valid\n");
}
s = "771-29-162";
if (isValidFormat(s)) {
printf("Not Valid\n");
} else {
printf("Not Valid\n");
}
s = "771-AB1-1620";
if (isValidFormat(s)) {
printf("Not Valid\n");
} else {
printf("Not Valid\n");
}
return 0;
}
/*
run:
Valid
Not Valid
Not Valid
*/