fork download
  1. #include <stdio.h>
  2. #include <regex.h>
  3.  
  4. int match(char *reg, char *string)
  5. {
  6. regex_t regex;
  7. int res;
  8.  
  9. res = regcomp(&regex, reg, REG_EXTENDED);
  10. if (res)
  11. {
  12. fprintf(stderr, "Could not compile regex\n");
  13. return 1;
  14. }
  15.  
  16. res = regexec(&regex, string, 0, NULL, 0);
  17. return res;
  18. }
  19.  
  20. int main(void)
  21. {
  22. char *regex = "^([[:alnum:]_-]{24}\\.[[:alnum:]_-]{6}\\.[[:alnum:]_-]{27}|mfa\\.[[:alnum:]_-]{84})$";
  23. char *key = "xxxxxxxxxxxxxxxxxxxxxxxx.xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx";
  24.  
  25. if (match(regex, key) == 0) printf("Valid key!\n");
  26. else printf("Invalid key!\n");
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 5500KB
stdin
Standard input is empty
stdout
Valid key!