code: def str_match(arr, pat, case=True, flags=0, na=np.nan):
      
      if not case:
          flags |= re.IGNORECASE
  
      regex = re.compile(pat, flags=flags)
  
      dtype = bool
      f = lambda x: bool(regex.match(x))
  
      return _na_map(f, arr, na, dtype=dtype)
docs: Determine if each string matches a regular expression.
  
      Parameters
      ----------
      pat : str
          Character sequence or regular expression.
      case : bool, default True
          If True, case sensitive.
      flags : int, default 0 (no flags)
          re module flags, e.g. re.IGNORECASE.
      na : default NaN
          Fill value for missing values.
  
      Returns
      -------
      Series/array of boolean values
  
      See Also
      --------
      contains : Analogous, but less strict, relying on re.search instead of
          re.match.
      extract : Extract matched groups.