여러 줄에 걸쳐있는 텍스트와 비교할 때 파이썬 정규식을 사용하는 데 약간의 문제가 있습니다. 'some_Varying_TEXT'부분, 그리고 그것을 아래 두 줄을 오는 대문자 텍스트 줄의 모든 : 예제 텍스트여러 줄의 텍스트와 일치하는 정규식
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).
나는 두 가지를 캡처하고 싶습니다 ('\ n을'은 줄 바꿈이)입니다 하나의 캡처 (나는 나중에 개행 문자를 제거 할 수있다). 나는 몇 가지 방법으로 시도했다 :
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
과 행운와 본 계약 변동의 많은. 마지막 하나는 텍스트 라인을 하나 하나 일치시키는 것인데, 이는 내가 정말로 원한 것이 아닙니다. 첫 번째 부분을 잡을 수는 있지만 문제는 없지만 4-5 줄의 대문자를 잡을 수는 없습니다. match.group (1)이 일부일 것입니다 _ 다양 함 _ 빈 줄이 나올 때까지 텍스트 및 그룹 (2)을 line1 + line2 + line3 + 등으로 지정하십시오.
호기심이있는 사람은 단백질을 구성하는 아미노산 서열로 생각됩니다.
첫 번째 줄과 대문자 텍스트 외에 다른 파일이 있습니까? 나는 개행 문자에서 모든 텍스트를 분리하고 첫 번째 요소를 "some_Varying_TEXT"로 사용하는 대신 정규식을 사용하는 이유를 모르겠습니다. – UncleZeiv
예, 정규식은 잘못된 도구입니다. – hop
샘플 텍스트에 '>'문자가 없습니다. 그럴까요? – MiniQuark