Estou tendo problemas para fazer um regex Python funcionar ao comparar com texto que se estende por várias linhas. O texto de exemplo é ('\ n' é uma nova linha)
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).
Eu gostaria de capturar duas coisas: a parte 'some_Varying_TEXT' e todas as linhas de texto em maiúsculas que vêm duas linhas abaixo dele em uma captura (posso retirar os caracteres de nova linha mais tarde). Eu tentei com algumas abordagens:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
e muitas variações disso sem sorte. O último parece corresponder às linhas do texto uma a uma, o que não é o que eu realmente quero. Consigo captar a primeira parte, sem problemas, mas não consigo captar as 4-5 linhas de texto em maiúsculas. Eu gostaria que match.group (1) fosse some_Varying_Text e group (2) fosse line1 + line2 + line3 + etc até que a linha vazia fosse encontrada.
Se alguém estiver curioso, é suposto ser uma sequência de aminoácidos que constituem uma proteína.
>
caractere principal . Deveria?