解析するテキストファイルがあります。このファイルには、ヘッダーのコレクションのいずれか1つが含まれていても含まれていなくても、すべてのヘッダーグループの前に二重改行があります。正規表現で空の文字列を返す方法を許可する方法
ヘッダーが表示された直後に2重改行がある場合は、空の文字列を返す正規表現を求めています。私は、文書に内容がないヘッダーがあるかどうか、またはヘッダーがまったくないかどうかを区別する必要があります。ここで例えば
は、二つの文書の一部である:
Dogs
Spaniel
Beagle
Birds
Parrot
と
Dogs
Amphibians
Frogs
Salamanders
私は最初の文書でSpaniel\nBeagle
を返します正規表現、および第二のために空の文字列をしたいと思います。
私が見つけた最も近いものは(Pythonの構文で)expr = re.compile("Dogs(.+?|)?\n\n, re.DOTALL)
です。これは最初のものの正しい値を返しますが、後者の場合は\n\nAmphibians\nFrogs\nSalamanders
を返します。 2番目の疑問符とパイプは、私が望んでいたことをしません。
今私はDogs\n\n
を検索し、その正規表現が見つからない場合にのみ内容を返すが、それは仕事をしている単一の正規表現の感触を打ち負かすものではないため、不満足です。
So:2番目のドキュメントと一致する正規表現があり、""
を返しますか?
用途: 'exprの= re.compile(。r'Dogs * \ N \ N ')' – anubhava
良い主人、私が今までそれをoverthinkingでした。ありがとうございました! – prooffreader
"仕事をしている単一の正規表現の感覚に勝るものはありません。":これは素朴な信念です。 –