Python Regex에서 반복되는 하위 패턴을 어떻게 캡처할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-11-24 12:43:11
원래의
139명이 탐색했습니다.

How Can You Capture Repeating Subpatterns in Python Regex?

Python Regex에서 반복 하위 패턴 일치 및 캡처

이메일 주소와 같은 복잡한 패턴을 일치시킬 때 반복 하위 패턴을 캡처해야 하는 경우가 많습니다. 예를 들어, "yasar@webmail.something.edu.tr"과 같은 이메일 주소에서 도메인 부분 ".something" 및 ".edu"를 캡처해야 합니다. Regex는 반복되는 캡처 그룹을 통해 이를 수행하는 방법을 제공합니다. 그러나 Python re 모듈은 이를 완전히 지원하지 않습니다.

옵션 1: Python의 re 모듈 사용

(.w )와 같은 패턴을 사용하려고 하면 즉, 모든 항목이 아닌 마지막으로 일치하는 그룹만 캡처합니다. 예를 들어, [이메일 보호]를 사용하면 ".tr"만 캡처하고 ".something" 및 ".edu."는 누락됩니다.

옵션 2: 나중에 분할 및 일치

제공된 답변에서 알 수 있듯이 Python에서 더 간단한 접근 방식은 처음에 모든 것을 일치시킨 다음 문자열 조작을 사용하여 캡처된 하위 패턴을 분할하는 것입니다. 이는 읽고 구현하기가 더 쉬울 수 있습니다. 예를 들면 다음과 같습니다.

import re

# Match the entire email address
email_pattern = re.compile(r'([^\s@]+)@(\w+\.\w+)')
match = email_pattern.match('[email protected]')
if match:
    # Split the domain portion
    domain = match.group(2)
    domain_parts = domain.split('.')
    print('Domain Parts:', domain_parts)
로그인 후 복사

이 코드는 전체 이메일 주소를 캡처한 다음 도메인을 여러 부분으로 분할하여 각 하위 패턴에 별도로 액세스하고 저장할 수 있도록 합니다.

위 내용은 Python Regex에서 반복되는 하위 패턴을 어떻게 캡처할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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