##
4.2.2 マッチング vs 検索

Python は、正規表現に基づく、2つの異なるプリミティブな操作を 提供しています：マッチと検索です。もしあなたが Perl の記号に慣れているのであれば、 検索操作があなたの求めるものです。 `search()` 関数と、 コンパイルされた正規表現オブジェクトでの 対応するメソッドを見て下さい。

マッチは、"`^`"で始まる正規表現を使うと、検索とは 異なるかもしれないことに注意して下さい： "`^`" は文字列の先頭でのみ、あるいは `MULTILINE` モードでは改行の直後ともマッチします。 ``マッチ'' 操作は 、もしそのパターンが、モードに拘らず文字列の先頭とマッチ するか、あるいは改行がその前にあるかどうかに拘らず、省略可能な pos 引数によって 与えられる先頭位置でマッチする場合のみ成功します。

    re.compile("a").match("ba", 1)           # 成功
    re.compile("^a").search("ba", 1)         # 失敗； 'a' は先頭にない
    re.compile("^a").search("\na", 1)        # 失敗； 'a' は先頭にない
    re.compile("^a", re.M).search("\na", 1)  # 成功
    re.compile("^a", re.M).search("ba", 1)   # 失敗； \n が前にない