Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Primeiro script com regex
- by: vold
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <regex.h>
- #include <string.h>
- #define REGEX "[a-zA-Z]+.[:][//]+.[a-z]"
- #define REGEX2 "[/][a-zA-Z]+.[a-z]"
- #define MAX 1024
- int main(void) {
- void funct(char str[MAX]);
- char vold[MAX], ent[MAX], buff[MAX], ur[MAX], out[MAX];
- regex_t teste;
- memset(ent, '\0', MAX);
- memset(buff, '\0', MAX);
- memset(out, '\0', MAX);
- fprintf(stdout, "site: ");
- fgets(ent, sizeof(ent), stdin);
- ent[strlen(ent) - 1] = '\0';
- sscanf(ent, "%s", vold);
- fprintf(stdout, "uri: ");
- scanf("%s", out);
- putchar('\n');
- if(regcomp(&teste, REGEX, REG_EXTENDED|REG_NOSUB) != 0) {
- fprintf(stderr, "regcomp. \n");
- exit(-1);
- } else {
- if(( regexec(&teste, vold, 0, (regmatch_t*)NULL, 0)) == 0 ){
- sscanf(vold, "%s", buff);
- } else {
- fprintf(stderr, "invalido. \n");
- exit(-1);
- }
- }
- fprintf(stdout, "URL: %s\n", buff);
- funct(out);
- return 0;
- }
- void funct(char str[MAX]) {
- regex_t teste2;
- putchar('\n');
- if( regcomp(&teste2, REGEX2, REG_EXTENDED|REG_NOSUB) != 0) {
- fprintf(stderr, "regcomp. \n");
- exit(-1);
- } else {
- if (( regexec(&teste2, str, 0, (regmatch_t *)NULL, 0)) == 0) {
- fprintf(stdout, "URIPATH: %s\n", str);
- } else {
- fprintf(stderr, "invalido. \n");
- exit(-1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement