J'ai un peu de mal à faire fonctionner une expression régulière Python lors de la correspondance avec du texte qui s'étend sur plusieurs lignes. L'exemple de texte est ('\ n' est une nouvelle ligne)
some Varying TEXT\n
\n
DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n
[more of the above, ending with a newline]\n
[yep, there is a variable number of lines here]\n
\n
(repeat the above a few hundred times).
Je voudrais capturer deux choses: la partie 'some_Varying_TEXT' et toutes les lignes de texte majuscules qui viennent deux lignes en dessous dans une capture (je peux supprimer les caractères de nouvelle ligne plus tard). J'ai essayé avec quelques approches:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
et de nombreuses variantes sans chance. Le dernier semble correspondre aux lignes de texte une par une, ce qui n'est pas ce que je veux vraiment. Je peux attraper la première partie, pas de problème, mais je n'arrive pas à attraper les 4-5 lignes de texte en majuscules. Je voudrais que match.group (1) soit some_Varying_Text et group (2) soit line1 + line2 + line3 + etc jusqu'à ce que la ligne vide soit rencontrée.
Si quelqu'un est curieux, c'est censé être une séquence d'acides aminés qui composent une protéine.
>
caractère principal . Devrait-il?