我已经制作了这个正则表达式((\s\s\s.*\s)*)
。它意味着,3个空格或制表符,之后是许多字符和空格或制表符或行尾。
如何将每条线路存储到列表中?
所以,如果我有这样的事情:
___The rabbit caught the lion\n
___The tiger got the giraffe\n
___The owl hit the man\n
输出如下:
list=[The rabbit caught the lion, The tiger got the giraffe, The owl hit the man]
请注意,我为每个其他模式使用组。
答案 0 :(得分:1)
看起来你只想匹配整行,从三个空格(或制表符)开始;这可以使用re.MULTILINE
并使用^
和$
锚来完成。
matches = re.findall('^\s{3}(.*)$', contents, re.MULTILINE)
如果你不关心在三个空格之前有字符,你可以将表达式减少到:
matches = re.findall('\s{3}(.*)', contents)
这是因为.
会匹配到换行符的所有内容(默认情况下)。