## 4.2.3 Regular Expression Objects

Compiled regular expression objects support the following methods and attributes:

`match` (string[, pos][, endpos])
  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 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.

`search` (string[, pos][, endpos])
  Scan through string looking for a location where this regular expression produces a match. Return `None` if no position in the string matches the pattern; note that this is different from finding a zero-length match at some point in the string.

  The optional pos and endpos parameters have the same meaning as for the `match` method.

`split` (string, [, maxsplit=0])
  Identical to the `split` function, using the compiled pattern.

`sub` (repl, string[, count=0])
  Identical to the `sub` function, using the compiled pattern.

`subn` (repl, string[, count=0])
  Identical to the `subn` function, using the compiled pattern.

`flags`
  The flags argument used when the regex object was compiled, or 0 if no flags were provided.

`groupindex`
  A dictionary mapping any symbolic group names (defined by `?P<id>`) to group numbers. The dictionary is empty if no symbolic groups were used in the pattern.

`pattern`
  The pattern string from which the regex object was compiled.