def str_match(arr, pat, case=True, flags=<NUM_LIT:0>, na=np.nan):
if not case:<EOL><INDENT>flags |= re.IGNORECASE<EOL><DEDENT>regex = re.compile(pat, flags=flags)<EOL>dtype = bool<EOL>f = lambda x: bool(regex.match(x))<EOL>return _na_map(f, arr, na, dtype=dtype)<EOL>
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.