Birden çok satıra yayılan metne karşılık gelirken çalışmak için bir Python ifadesini kullanmakta biraz sorun yaşıyorum. 'Some_Varying_TEXT' parçası ve bunun altında iki satır geliyor büyük metin satırı hepsi: örnek metinÇok satırlı bir metin bloğuyla eşleşen düzenli ifade
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).
iki şey yakalamak istiyorum ('\ n' bir satır olduğu) 'dir bir yakalama (daha sonra yeni satır karakterlerini çıkarabilirim). Birkaç yaklaşımlar ile denedim:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
ve hiçbir şans ile buradaki varyasyonların çok. Sonuncusu, metin satırlarıyla tek tek eşleşiyor gibi görünüyor, aslında istediğim şey bu değil. İlk kısmı yakalayabilirim, sorun değil ama 4-5 satırlık büyük harfli metni yakalayamıyorum. Match.group (1) 'in, _ Varying _ Metin ve grup (2)' nin boş satır ile karşılaşılana kadar line1 + line2 + line3 + vb. Olmasını istiyorum. Birisi meraklıysa, bunun bir proteini oluşturan aminoasit dizisi olması gerekiyordu.
Dosyada ilk satır ve büyük harf dışında başka bir şey var mı? Tüm metni yeni satır karakterlerine bölmek ve ilk öğeyi "some_Varying_TEXT" olarak almak yerine neden regex kullanacağınızdan emin değilim. – UncleZeiv
evet, regex bunun için yanlış bir araçtır. – hop
Örnek metninizde lider '> karakteri yoktur. Olmalı mı? – MiniQuark