读取文件的多行

时间:2012-11-03 03:37:12

标签: python regex python-2.7

我正在开发一个python应用程序,为脚本(ish)可视化小说框架创建一个界面。现在,我能够读取文件,创建标签或函数,但是当我读取它们时,它只读取一行。有点像这样:

>>> 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()

有没有办法让正则表达式读取整个标签和空格?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

正则表达式中的.通常匹配“\ n”之外的任何字符,因此正则表达式仅匹配第一行(\s匹配“\ n”在该行的末尾)。

如果您希望.匹配任何字符,包括“\ n”,请使用DOTALL标记。