I'm giving you a simple recursive code which i wrote long back. Please let
me know if it fails for any cases. Ignore the funny cout's It used to help
me debug and i'm lazy to remove it. :P :)
#include<iostream>
#include<string>
using namespace std;
/*
abasjc a*c
while(pattern[j] == '*' text[i] == pattern[j]) {i++; j++}
*/
bool match(string text, string pattern, int x, int y)
{
if(pattern.length() == y)
{
cout<<"hey\n";
return 1;
}
if(text.length() == x)
{
cout<<"shit\n";
return 0;
}
if(pattern[y] == '.' || text[x] == pattern[y])
{
cout<<"in match"<<endl;
return match(text,pattern,x+1,y+1);
}
if(pattern[y] == '*')
return match(text,pattern,x+1,y) || match(text,pattern,x+1,y+1) ||
match(text,pattern,x,y+1);
if(text[x] != pattern[y])
{
cout<<"shit1\n";
return 0;
}
}
int main()
{
string text,pattern;
cin >> text >> pattern;
cout << match(text, pattern,0, 0);
}
On Thu, Dec 27, 2012 at 6:10 PM, shady <[email protected]> wrote:
> Thanks for the link Ritesh,
> if (isMatch(s, p+2)) return true;
> isnt this line incorrect in the code, as it can lead to segmentation
> fault... how can we directly access p+2 element, we know for sure that p is
> not '\0', but p+1 element can be '\0' , therefore leading to p+2 to be
> undefined.
>
> On Thu, Dec 27, 2012 at 6:23 AM, Ritesh Mishra <[email protected]> wrote:
>
>> try to solve it by recursion ..
>> http://www.leetcode.com/2011/09/regular-expression-matching.html
>>
>>
>> Regards,
>>
>> Ritesh Kumar Mishra
>> Information Technology
>> Third Year Undergraduate
>> MNNIT Allahabad
>>
>>
>> On Sun, Dec 23, 2012 at 11:14 PM, Prem Krishna Chettri <
>> [email protected]> wrote:
>>
>>> Well I can tell you Something about design pattern to solve this case..
>>>
>>> What I mean is by using The State Machine Design Pattern, Anyone
>>> can solve this. but Ofcourse it is complicated.
>>>
>>>
>>>
>>>
>>> On Sun, Dec 23, 2012 at 11:01 PM, shady <[email protected]> wrote:
>>>
>>>> that's the point, Have to implement it from scratch... otherwise java
>>>> has regex and matcher, pattern to solve it...........
>>>>
>>>>
>>>> On Sun, Dec 23, 2012 at 10:28 PM, saurabh singh <[email protected]>wrote:
>>>>
>>>>> If you need to implement this for some project then python and java
>>>>> have a very nice library
>>>>>
>>>>>
>>>>> Saurabh Singh
>>>>> B.Tech (Computer Science)
>>>>> MNNIT
>>>>> blog:geekinessthecoolway.blogspot.com
>>>>>
>>>>>
>>>>> On Sun, Dec 23, 2012 at 7:48 PM, shady <[email protected]> wrote:
>>>>>
>>>>>>
>>>>>> http://stackoverflow.com/questions/13144590/to-check-if-two-strings-match-with-alphabets-digits-and-special-characters
>>>>>>
>>>>>> any solution for this......... we need to implement such regex
>>>>>> tester................
>>>>>>
>>>>>> some complex cases :
>>>>>> *string* * regex * -> * status*
>>>>>> *
>>>>>> *
>>>>>> reesd re*.d -> match
>>>>>> re*eed reeed -> match
>>>>>>
>>>>>> can some one help with this ?
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>>
>>>>
>>>
>>> --
>>>
>>>
>>>
>>
>> --
>>
>>
>>
>
> --
>
>
>
--
Cheers,
Vicky
--