fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <regex.h>
  5.  
  6. int check_match_var(char *str)
  7. {
  8. int err;
  9. int match;
  10. regex_t preg;
  11. char err_buf[BUFSIZ];
  12. const char *regex = "^(int|char|float|double) [a-zA-Z0-9]{1,};";
  13.  
  14. err = regcomp(&preg, regex, REG_EXTENDED);
  15. printf("Err : %d\n", err);
  16. if (err == 0)
  17. {
  18. match = regexec(&preg, str, 0, NULL, 0);
  19. regfree(&preg);
  20. if (match == 0)
  21. printf("Match !\n");
  22. else
  23. printf("No match !\n");
  24. }
  25. else
  26. {
  27. regerror(err, &preg, err_buf, BUFSIZ);
  28. printf("regcomp: %s\n", err_buf);
  29. return (1);
  30. }
  31. return (0);
  32. }
  33.  
  34. int marvin(char **av)
  35. {
  36. check_match_var(av[1]);
  37. return (0);
  38. }
  39.  
  40. int main(int ac, char **av)
  41. {
  42. check_match_var("int x;");
  43. // marvin(av);
  44. return (0);
  45. }
Success #stdin #stdout 0s 2380KB
stdin
int b;
stdout
Err : 0
Match !