2

Python 3.4で解析している改行でいっぱいのテキストファイルがたくさんあります。テキストをさまざまな部分に分割する改行を探しています。テキストの例を次に示します。

text = 'avocat  ;\n\n       m. x'

\nバックスラッシュ ' ' がエスケープ文字であるとは考えずに、正規表現 (RE)で ' ' を含む改行を素朴に探し始めまし\た。しかし、これはうまくいくことが判明しました:

>>> import re

>>> pattern1 = '\n\n'
>>> re.findall(pattern1, text)
['\n\n']

次に、1 つのバックラッシュを探すには、2 つのバックスラッシュを使用する必要があることを理解しました。これもうまくいきました:

>>> pattern2 = '\\n\\n'
>>> re.findall(pattern2, text)
['\n\n']

しかし、別のスレッドでは、通常の文字列の代わりに生の文字列を使用するように言われましたが、この形式では探している改行が見つかりません。

>>> pattern3 = r'\\n\\n'
>>> pattern3
'\\\\n\\\\n'
>>> re.findall(pattern3, text)
[]

ここで私を助けてくれませんか?改行を正しく一致させるために使用する必要がある RE の王について少し混乱しています。

4

2 に答える 2