Ich habe ein bisschen Probleme damit, dass ein Python-Regex funktioniert, wenn er mit Text verglichen wird, der mehrere Zeilen umfasst. Der Beispieltext lautet ('\ n' ist eine neue Zeile)
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).
Ich möchte zwei Dinge erfassen: den Teil 'some_Varying_TEXT' und alle Zeilen in Großbuchstaben, die in einer Erfassung zwei Zeilen darunter stehen (ich kann die Zeilenumbrüche später entfernen). Ich habe es mit ein paar Ansätzen versucht:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
und viele Variationen davon ohne Glück. Der letzte scheint nacheinander mit den Textzeilen übereinzustimmen, was ich nicht wirklich will. Ich kann den ersten Teil abfangen, kein Problem, aber ich kann die 4-5 Zeilen Großbuchstaben nicht abfangen. Ich möchte, dass match.group (1) some_Varying_Text und group (2) line1 + line2 + line3 + usw. ist, bis die leere Zeile gefunden wird.
Wenn jemand neugierig ist, soll es sich um eine Sequenz von Aminosäuren handeln, aus denen ein Protein besteht.
>
Charakter. Sollte es?