正则表达式拆分为两个单词两个剪切文本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