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 <sinv...@gmail.com> 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 <rforr...@gmail.com> 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 < >> hprem...@gmail.com> 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 <sinv...@gmail.com> 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 <saurab...@gmail.com>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 <sinv...@gmail.com> 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 --