我正在开发一个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()
有没有办法让正则表达式读取整个标签和空格?
感谢您的时间。
答案 0 :(得分:1)
正则表达式中的.
通常匹配除“\ n”之外的任何字符,因此正则表达式仅匹配第一行(\s
匹配“\ n”在该行的末尾)。
如果您希望.
匹配任何字符,包括“\ n”,请使用DOTALL
标记。