簡體   English   中英

多行的正則表達式

[英]Regular Expression for multiple lines

我做了這個正則表達式((\\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]

只需提一下,我對我擁有的其他每個模式都使用了分組。

看來您只想匹配一行,以三個空格(或制表符)開頭; 這可以通過re.MULTILINE並使用^$錨來完成。

matches = re.findall('^\s{3}(.*)$', contents, re.MULTILINE)

如果您不關心在三個空格之前使用字符,可以將表達式簡化為:

matches = re.findall('\s{3}(.*)', contents)

這是因為. 將所有內容匹配到換行符(默認情況下)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM