Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. /*
  2. Primeiro script com regex
  3. by: vold
  4. */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <sys/types.h>
  8. #include <regex.h>
  9. #include <string.h>
  10.  
  11. #define REGEX "[a-zA-Z]+.[:][//]+.[a-z]"
  12. #define REGEX2 "[/][a-zA-Z]+.[a-z]"
  13.  
  14. #define MAX 1024
  15.  
  16. int main(void) {
  17. void funct(char str[MAX]);
  18. char vold[MAX], ent[MAX], buff[MAX], ur[MAX], out[MAX];
  19. regex_t teste;
  20. memset(ent, '\0', MAX);
  21. memset(buff, '\0', MAX);
  22. memset(out, '\0', MAX);
  23.  
  24. fprintf(stdout, "site: ");
  25. fgets(ent, sizeof(ent), stdin);
  26. ent[strlen(ent) - 1] = '\0';
  27. sscanf(ent, "%s", vold);
  28.  
  29. fprintf(stdout, "uri: ");
  30. scanf("%s", out);
  31.  
  32. putchar('\n');
  33. if(regcomp(&teste, REGEX, REG_EXTENDED|REG_NOSUB) != 0) {
  34. fprintf(stderr, "regcomp. \n");
  35. exit(-1);
  36. } else {
  37. if(( regexec(&teste, vold, 0, (regmatch_t*)NULL, 0)) == 0 ){
  38. sscanf(vold, "%s", buff);
  39. } else {
  40. fprintf(stderr, "invalido. \n");
  41. exit(-1);
  42. }
  43. }
  44.  
  45.  
  46. fprintf(stdout, "URL: %s\n", buff);
  47. funct(out);
  48. return 0;
  49. }
  50. void funct(char str[MAX]) {
  51. regex_t teste2;
  52. putchar('\n');
  53. if( regcomp(&teste2, REGEX2, REG_EXTENDED|REG_NOSUB) != 0) {
  54. fprintf(stderr, "regcomp. \n");
  55. exit(-1);
  56. } else {
  57. if (( regexec(&teste2, str, 0, (regmatch_t *)NULL, 0)) == 0) {
  58. fprintf(stdout, "URIPATH: %s\n", str);
  59. } else {
  60. fprintf(stderr, "invalido. \n");
  61. exit(-1);
  62. }
  63.  
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement