정규표현식(regular expression)은 「문자열의 패턴을 표현하는 작은 언어」입니다.
이메일·전화번호 검증, 로그 파싱, 텍스트 추출 같은 작업에서 결정적입니다.
파이썬에서는 「re」 모듈로 다룹니다.
기본 사용 흐름.
import re.
re.search(r"\d+", "abc123def") — 첫 번째 숫자 묶음 찾기.
결과는 Match 객체이며 .group()으로 "123"을 얻습니다.
패턴 앞의 「r」은 「raw 문자열」 — 백슬래시를 그대로 — 표시입니다.
자주 쓰는 메타 문자.
\d — 숫자, \w — 영문/숫자/_, \s — 공백, .
— 임의의 한 글자, ^ — 시작, $ — 끝, * — 0개 이상, + — 1개 이상, ?
— 0 또는 1개.
r"\d{3}-\d{4}" — 「세 자리 숫자-네 자리 숫자」 형식.
주요 함수.
re.search() — 첫 일치 위치.
re.findall() — 모든 일치를 리스트로.
re.sub(패턴, 대체, 문자열) — 일치 부분 치환.
re.split(패턴, 문자열) — 패턴 기준 분리.
re.match() — 처음부터 일치(search보다 엄격).
비유하자면 정규표현식은 「문자열을 다루는 만능 검색·치환 도구」입니다.
단점은 「짧지만 매우 어려워 보인다」는 점이며, 복잡한 패턴은 작성한 본인도 1주일 후에 못 알아본다는 농담이 있을 정도입니다.
그래도 한 번 익히면 평생 쓰는 강력한 도구입니다.
한 줄 요약
re 모듈은 정규표현식으로 문자열 패턴을 다룹니다.
\d·\w 같은 메타 문자와 search·findall·sub 같은 함수로 검증·추출·치환을 한 줄로 처리할 수 있습니다.
더 알아볼 것
- regex101.com — 정규식 시각화 도구
- greedy vs non-greedy 매칭
- re.compile — 패턴 미리 컴파일