2017-10-13 11 views
0

私は複数の行にわたってre.findall()にしようとしてきました。これは私の正規表現です。Pythonで複数行の正規表現パターンを一致させる

rx = re.compile(r"```()* test.+```", re.DOTALL) 
list = rx.findall(string) 

そして、私が戻ってくるのは[' ']です。 (サイドノート、文字列はファイルから読み込まれます)誰もここで何が間違っているのか説明できますか?

また、フラグとしてre.DOTALL|re.MULTILINEを使用しようとしましたが、いずれも解決しませんでした。

+1

テスト用のデータを追加できますか? – SatanDmytro

+1

'findall'に関するドキュメントからのヒント:"パターンに1つ以上のグループがある場合、グループのリストを返します "。ここには1つのグループがあります。 –

+0

私は知っていますが、それは空です。私が解析しようとしている文字列は、次のようになります。 '' 'test こんにちは ' ''(改行は表示されません) – ComedicChimera

答えて

1

Michael Bucherが指摘しているように、findallは、あなたのパターンのグループと一致するものだけを返します。あなたの場合、それは1つの空白です。試合全体が返されるようにしたい場合は、

r'``` +test.+```'