0

我正在开发一个 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()

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

谢谢你的时间。

4

1 回答 1

1

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

如果要.匹配任何字符,包括“\n”,请使用DOTALL标志。

于 2012-11-06T20:26:38.627 回答