正则表达式拆分为两个单词两个剪切文本Python

正则表达式拆分为两个单词两个剪切文本Python,python,regex,Python,Regex,我有一个巨大的多行字符串,我需要从中获得一些信息。 我想删掉所有与正则表达式无关的东西,但我尝试的一切都不起作用。大多数情况下,在一个列表项中有一些不相关的信息 任何帮助都将不胜感激 使用示例文本,这个正则表达式 import re test = '''starterword relevant info 1 relevant info 3 relevant info 2 endword lots of irrelevant stuff starterword

我有一个巨大的多行字符串,我需要从中获得一些信息。 我想删掉所有与正则表达式无关的东西,但我尝试的一切都不起作用。大多数情况下,在一个列表项中有一些不相关的信息


任何帮助都将不胜感激

使用示例文本,这个正则表达式

import re

test = '''starterword
    relevant info 1
    relevant info 3
    relevant info 2
endword

lots of irrelevant stuff
starterword
    relevant info 8
    relevant info 7
    relevant info 4
endword

lots of irrelevant stuff

starterword
    relevant info 420
    relevant info 90
    relevant info lol
endword
'''

pattern = re.split('/^starterword(.*?) \^endword/',test,flags=re.MULTILINE)#|re.DOTALL)
print(pattern )
print(len(pattern ))
将返回3组

第一组

^starterword\n([\w\s]+?)^endword
第2组

    relevant info 1
    relevant info 3
    relevant info 2
第3组

    relevant info 8
    relevant info 7
    relevant info 4

查看它的工作情况。

re.findall(“^starterword\n(.*?\nendword$”,test,flags=re.MULTILINE | re.DOTALL)
@WiktorStribiż查看正则表达式的
(.*)
部分不工作,因为“相关信息”部分有新行。我用
([\w\s]+?)
来解决这个问题,但我想知道你是否知道更好的解决方法。
re.DOTALL
匹配任何字符,包括换行符。
    relevant info 420
    relevant info 90
    relevant info lol