If zero or more characters at the beginning of string match
  this regular expression, return a corresponding
  MatchObject instance.  Return None if the string does not
  match the pattern; note that this is different from a zero-length
  match.
  
  The optional second parameter pos gives an index in the string
  where the search is to start; it defaults to 0.  The
  "^" pattern character will not match at the index where the
  search is to start.
The optional parameter endpos limits how far the string will
  be searched; it will be as if the string is endpos characters
  long, so only the characters from pos to endpos will be
  searched for a match.