Akamai Interview Question
Development Support EngineersCountry: India
Interview Type: Phone Interview
boolean matchPattern(char* str, char* pat)
{
if(*str == '\0' && *pat == '\0)'{
return true;
}
if(*exp == '#'' && *(exp+1) != '\0' && '*str == '\0) {
return true;
}
if(*str == *exp) {
matchPattern(exp + 1, pat +1);
}
if(*exp = '#')'{
return matchPattern(exp +1, pat) || matchPattern(exp, pat + 1);
}
return false;
}
void regex_match(char *str, char* reg)
{
int i=0, j=0, k=0, l=0, flag=0, lenstr, lenreg;
lenstr=strlen(str);
lenreg=strlen(reg);
while(i < lenreg)
{
printf("i = %d j = %d\n", i, j);
printf("reg[i] = %c\n", reg[i]);
printf("str[j] = %c\n", str[j]);
if(reg[i]!='#')
{
if(reg[i] == str[j])
{
i++;j++;
}
else
{
printf("Error\n");
break;
}
}
else
{
if(flag == 1 && str[j]==reg[i+1])
{
i++;
flag=0;
}
else
{
j++;
flag=1;
}
}
}
}
logic is create a regex using the pattern and match the string.
- Livin D'cruz September 23, 2014# is any character atleast once, same as ".+" in regex