Tôi đang gặp một chút khó khăn khi bắt một regex Python hoạt động khi khớp với văn bản kéo dài nhiều dòng. Văn bản ví dụ là ('\ n' là một dòng mới)
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).
Tôi muốn chụp hai thứ: phần 'some_Varying_TEXT' và tất cả các dòng văn bản viết hoa đi kèm hai dòng bên dưới nó trong một lần chụp (tôi có thể loại bỏ các ký tự dòng mới sau này). Tôi đã thử với một số cách tiếp cận:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
và rất nhiều biến thể của nó mà không có may mắn. Cái cuối cùng có vẻ khớp với từng dòng văn bản, đó không phải là điều tôi thực sự muốn. Tôi có thể nắm bắt được phần đầu tiên, không vấn đề gì, nhưng tôi dường như không thể nắm bắt được 4-5 dòng văn bản viết hoa. Tôi muốn match.group (1) là some_Varying_Text và group (2) là line1 + line2 + line3 + v.v. cho đến khi gặp dòng trống.
Nếu ai đó tò mò, nó được cho là một chuỗi các aminoacid tạo nên một loại protein.
>
ký tự đứng đầu . Có nên không?