Serviceを読んで理解し、同意したものとみなします。ejiriさんの回答で十分だと思います。こちらは、コメントに「正規表現自体はソースの外出し」と言うことですので、使う正規表現によって、コードの方をいじったりはできず、正規表現のマッチする範囲自体が切り出したい文字列になっていないといけない、と言う想定での回答になります。re.subで終了文字列パターン以降を空文字列に置換したものが抽出結果です。終了文字列パターンにマッチした文字列だけが削除(空文字列で置換)されますので、マッチしなければ元の文字列が得られます。