Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python) 정규식 구문 한눈에 이해하기

정규 표현식(Regular Expression)이란?

정규 표현식은 주로 문자열이나 파일 안에서 특정 패턴(pattern)을 찾아내거나 검색·치환할 때 사용되는 하나 이상의 문자 나열입니다. 복잡해 보이지만, 기본 개념만 익히면 텍스트 처리 작업을 훨씬 효율적으로 수행할 수 있습니다.

파이썬 정규식 구문의 두 가지 문자 유형

파이썬의 정규식 구문은 크게 두 종류의 문자로 구성됩니다.

1. 메타 문자(Meta Characters)

이름에서 알 수 있듯이 메타 문자는 일반 문자가 아닌 특별한 의미를 지니는 문자입니다. 파일 검색에서 사용하는 와일드카드 *와 비슷한 역할을 한다고 생각하면 이해하기 쉽습니다.

  • . : 임의의 한 문자와 매칭
  • ^, $ : 각각 문자열의 시작과 끝을 의미
  • *, +, ? : 앞 문자의 반복 횟수를 지정
  • [ ] : 대괄호 안의 문자 집합 중 하나와 매칭
  • | : OR 조건(선택)을 나타냄
  • ( ) : 패턴을 그룹으로 묶음

2. 리터럴(Literals)

리터럴은 a, b, 1, 2처럼 그 자체로 문자 그대로의 의미를 가지는 일반 문자입니다. 메타 문자와 달리 특별한 해석 없이 입력된 값 그대로 매칭됩니다.

정규식을 구성하는 주요 문법 요소

파이썬 정규식은 다음과 같은 다양한 구문 도구들을 활용하여 동작합니다.

  • 원시 문자열(Raw String) : r'...' 형태로 작성하여 백슬래시(\)가 이스케이프 문자로 해석되지 않도록 함
  • 수량자(Quantifier) : 문자나 패턴이 반복되는 횟수를 지정 (*, +, {n,m} 등)
  • 문자 클래스(Character Class) : [a-z], \d, \w처럼 매칭 대상이 될 문자의 범위를 정의
  • 그룹(Group) : 괄호를 사용해 패턴의 일부를 묶어 추출하거나 재사용
  • 선택(Alternation) : | 기호로 여러 패턴 중 하나와 매칭

이러한 요소들을 조합하면 이메일 주소 검증, 전화번호 추출, 로그 분석 등 복잡한 텍스트 처리 작업도 몇 줄의 코드로 손쉽게 해결할 수 있습니다.