Given an input string s and a pattern p, implement regular expression matching with support for '.' and '*' where:
s
p
'.'
'*'