1

この正規表現を作成しました((\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]

私が持っている他のパターンのそれぞれにグループを使用していることは言うまでもありません。

4

1 に答える 1

1

3つのスペース(またはタブ)から始めて、行全体を一致させたいようです。これは、 andアンカーre.MULTILINEを使用して実行できます。^$

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

3つのスペースの前に文字を配置する必要がない場合は、式を次のように減らすことができます。

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

これは.、改行までのすべてに一致するためです(デフォルト)。

于 2013-02-26T03:00:55.867 に答える