Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //operation '*' for regular expression
- int RegularExprAsterisk(char* mask, char* remainder)
- {
- if (*mask == '\0' || ApplyRegularExpr((mask + 1), remainder))
- return 1;
- else if (*remainder != '\0')
- return RegularExprAsterisk(mask, (remainder + 1));
- }
- //check if <inspected> suits the <mask>
- int ApplyRegularExpr(char* mask, char* inspected)
- {
- int i = 0, curInspectedIndex = 0;
- for (; *(mask + i) != '\0'; i++){
- switch (*(mask + i))
- {
- case '*':
- if (RegularExprAsterisk(mask+i, inspected+curInspectedIndex))
- return 1;
- else
- return 0;
- break;
- case '?':
- if (*(inspected+curInspectedIndex) == '\0')
- return 0;
- else
- curInspectedIndex++;
- break;
- default:
- if (*(inspected+ curInspectedIndex)!='\0' &&
- *(inspected + curInspectedIndex) == *(mask+i))
- curInspectedIndex++;
- else
- return 0;
- break;
- }
- }
- return (*(inspected + curInspectedIndex) == '\0');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement