2009-12-25 8 views
0

Ceci est probablement simple, mais je ne peux pas comprendre cela: je besoin d'expression regex qui extrait les enregistrements suivants (Chaque enregistrement peut couvrir plusieurs lignes et délimitée par une ou plusieurs lignes vides):Python: Regex nécessaire

TextTextTextTextTextTextText

TextTextTextTextTextTextTextTextText

(une ou plusieurs lignes vides)

TextTextTextTextText

TextTextText

TextTextTextTextTextTextText

(une ou plusieurs lignes vides)

TextTextTextTextText TextTextTextTextTextTextTextTextTextText

+0

solution soit affichée jusqu'à présent (peut est ou Eli de) fonctionne, mais vous aurez probablement envie pour faire un .strip() sur chacun des éléments retournés, et aussi ignorer les chaînes vides pendant que vous itérez (pour les cas comme quadruple-ou-plus de lignes vides, début/fin lignes blanches, etc.). –

+0

Ma solution ne génère pas de chaînes vides ni de lignes vides avant/arrière. –

+1

@Can, bien sûr, si le texte commence par un saut de ligne, par exemple. Ou si elle se termine par deux ou plusieurs nouvelles lignes. Il est trivial de tester: 're.split (r '\ n \ n +', '' '\ ntext \ n \ ntext \ n \ n' '')' –

Répondre

4
import re 
re.split('\n\n+', text)