> 백엔드 개발 > 파이썬 튜토리얼 > 여러 줄의 텍스트 블록을 Python 정규 표현식과 일치시키는 방법: 소문자 및 대문자 구성 요소 캡처?

여러 줄의 텍스트 블록을 Python 정규 표현식과 일치시키는 방법: 소문자 및 대문자 구성 요소 캡처?

DDD
풀어 주다: 2024-10-25 09:56:28
원래의
533명이 탐색했습니다.

How to Match Multiline Text Blocks with Python Regular Expressions: Capturing Lowercase and Uppercase Components?

Python 정규 표현식과 여러 줄 텍스트 블록 일치

이 프로그래밍 질문에서는 여러 줄에 걸쳐 있는 특정 텍스트 형식을 일치시키는 것을 목표로 합니다. . 입력 텍스트는 소문자와 대문자 텍스트의 교대 블록으로 구성됩니다. 여기서 소문자 텍스트는 기본 구성 요소를 나타내고 대문자 텍스트는 아미노산 시퀀스를 나타냅니다.

문제 설명

이 작업은 입력 텍스트에서 두 가지 구성 요소를 캡처할 수 있는 Python에서 정규식을 만드는 것입니다.

  1. 기본 소문자 구성 요소
  2. 두 개의 대문자 줄 시퀀스 그 아래 줄

출력은 그룹(1)의 기본 소문자 구성 요소와 그룹(2)의 대문자 시퀀스를 사용하여 두 개의 캡처 그룹으로 나누어야 합니다.

해결책

이 문제를 해결하려면 다음 정규식을 활용할 수 있습니다.

re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
로그인 후 복사

이 정규식은 여러 줄 모드에서 작동합니다. 즉, ^ 및 $ 앵커는 각각 줄의 시작과 끝.

설명

  • ^(. )$: 자체적으로 기본 소문자 구성 요소와 일치합니다. line.
  • n((?:n. ) ): 기본 구성 요소 뒤에 오는 대문자 텍스트의 연속 행과 일치합니다.

    • n: 줄 바꿈 문자와 일치합니다.
    • (?:n. ) : 하나 이상의 줄바꿈과 그 뒤에 공백이 아닌 문자( )가 하나 이상 나오는 것과 일치하는 비캡처 그룹입니다.

사용법

이 정규식을 사용하려면 다음 단계를 따르세요.

import re

text = """
some Varying TEXT
...
[lines of uppercase text]
...
"""

regex = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)

match = regex.search(text)
if match:
    lowercase_text = match.group(1)
    uppercase_text = match.group(2)
    # Process the captured text as needed
로그인 후 복사

위 내용은 여러 줄의 텍스트 블록을 Python 정규 표현식과 일치시키는 방법: 소문자 및 대문자 구성 요소 캡처?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿