##
4.2.4 正規表現オブジェクト

コンパイルされた正規表現オブジェクトは、以下のメソッドと属性をサポート します：

`match`( | string[, pos[, endpos]])

  もし stringの先頭の 0 個以上の文字がこの正規表現とマッチすれば、 対応する `MatchObject` インスタンスを返します。 もし文字列がパタンーとマッチしなければ、`None` を返します； これは長さゼロのマッチとは異なることに 注意して下さい。

  注意: もしマッチを string のどこかに位置付けたければ、 代わりに `search()` を使って下さい。

  省略可能な第2のパラメータ posは、文字列内の検索を始めるインデッスクを 与えます；デフォールトでは `0` です。これは、文字列のスライシングと 完全に同じ意味だというわけではありません；`'^'` パターン文字は、 文字列の実際の先頭と改行の直後とマッチしますが、 それが必ずしも検索が開始するインデックスであるわけでは ないからです。

  省略可能なパラメータ endposは、どこまで文字列が検索されるかを 制限します；あたかもその文字列が endpos 文字長であるかのように しますので、 pos から `endpos - 1` までの文字が、 マッチのために検索されます。もし endpos が posより小さければ、 マッチは見つかりませんが、そうでなくて、もしrx がコンパイルされた 正規表現オブジェクトであれば、 `rx.match(string, 0, 50)` は `rx.match(string[:50], 0)`と同じ意味になります。

`search`( | string[, pos[, endpos]])

  string全体を走査して、この正規表現がマッチする位置を探して、 対応する `MatchObject` インスタンスを返します。もし文字列内に パターンとマッチする位置がないならば、`None` を返します； これは文字列内のある点で長さゼロのマッチを探すこととは異なることに 注意して下さい。

  省略可能な pos と endpos パラメータは、 `match()` メソッドのものと同じ意味を持ちます。

`split`( | string[, maxsplit`= 0`])

  `split()` 関数と同様で、コンパイルしたパターンを使います。

`findall`( | string)

  `findall()` 関数と同様で、コンパイルしたパターンを使います。

`finditer`( | string)

  `finditer()` 関数と同様で、コンパイルしたパターンを使います。

`sub`( | repl, string[, count`= 0`])

  `sub()` 関数と同様で、コンパイルしたパターンを使います。

`subn`( | repl, string[, count`= 0`])

  `subn()` 関数と同様で、コンパイルしたパターンを使います。

`flags`
  flags 引数は、RE オブジェクトがコンパイルされたとき使われ、 もし flags が何も提供されなければ `0` です。

`groupindex`
  `(?P<id>)`で定義された任意の記号グループ名の、グループ番号 への辞書マッピングです。もし記号グループが パターン内で何も使われていなければ、辞書は空です。

`pattern`
  RE オブジェクトがそれからコンパイルされたパターン文字列です。