title: Write a regexp string matching function that supports '.', '*' and '.*'
body: <p>The title is pretty explicit and below are couple of samples input/output. Note that the regexps used are supposed to match from beginning to end of the string.</p>
  
  <pre><code>'abc' =~ 'abc' (match)
  'abc' =~ 'a*bc' (match)
  'aaaaaaabc' =~ 'c*bc' (no match)
  'aaaaaaabc' =~ 'a.*bc' (match)
  'abbbbaaaaaabc' =~ 'ab*a*b*c' (match)
  'abbbbaaaaaabc' =~ 'ab*a*h*bc' (match)
  'bbd' =~ 'b*bbd' (match)
  'bbd' =~ '.*bbd' (match)
  'bbd' =~ '.*cbd' (no match)
  '' =~ '.*' (match)
  </code></pre>
  
  <p>My implementation for this is located at:</p>
  
  <p><a href="https://github.com/jpbillaud/piexposed/blob/master/string/string_match_regexp.c" rel="nofollow">https://github.com/jpbillaud/piexposed/blob/master/string/string_match_regexp.c</a></p>
  
  <p>Now I was wondering if anybody would think about a more interesting way to solve this using DP, Finite Automata or whatever else.</p>