Birden çok satıra yayılan metinle eşleşirken Python normal ifadesinin çalışmasını sağlamakta biraz sorun yaşıyorum. Örnek metin ('\ n' yeni satırdır)
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).
İki şeyi yakalamak istiyorum: 'some_Varying_TEXT' bölümü ve bir yakalamada iki satırın altına gelen büyük harfli metnin tüm satırları (yeni satır karakterlerini daha sonra çıkarabilirim). Birkaç yaklaşımla denedim:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
ve burada şanssız bir çok varyasyon. Sonuncusu, metin satırlarıyla tek tek eşleşiyor gibi görünüyor, bu gerçekten istediğim şey değil. İlk kısmı yakalayabilirim, sorun değil, ancak 4-5 satırlık büyük harfli metni yakalayamıyorum. Match.group (1) 'in some_Varying_Text olmasını ve group (2)' nin line1 + line2 + line3 + etc olmasını, boş satırla karşılaşılana kadar istiyorum.
Merak eden biri varsa, bunun bir protein oluşturan bir aminoasit dizisi olması gerekir.