0

私は、スクリプト(っぽい)ビジュアルノベルフレームワークのインターフェイスを作成するためにPythonアプリに取り組んでいます。今のところ、ファイルを読み取り、ラベルまたは関数を作成することはできましたが、それらを読み取ると、1 行しか読み取れません。このような並べ替え:

>>> from freddie import Freddie
>>> check = Freddie()
>>> check.read_script('script')
>>> check.read_label('start')
'label start:\n' # Only reads the first line and the whitespace

ラベル全体は次のとおりです。

label start:

    test "Lorem ipsum"

    test "Sir amet"

return

私の機能は次のとおりです。

def read_label(self, label):
    search_label = re.search("label %s(.*)\s" % label, self.scripts.read(), re.MULTILINE)
    return search_label.group()

正規表現でラベル全体と空白を読み取らせる方法はありますか?

御時間ありがとうございます。

4

1 に答える 1

1

.正規表現のは通常、「\ n」以外のすべての文字と一致するため、正規表現は最初の行のみと\s一致します(その行の最後の「\ n」と一致します)。

「\n」を含む.任意の文字と一致させる場合は、フラグを使用します。DOTALL

于 2012-11-06T20:26:38.627 に答える