프로그래밍언어/파이썬[중급]

[파이썬][중급] Chapter37. 정규표현식(re 모듈) 기초

about_IT 2025. 5. 24. 00:06
728x90

정규표현식(Regular Expression, RegEx)은 문자열에서 특정 패턴을 찾거나 치환할 때 사용되는 강력한 도구입니다. 파이썬에서는 re 모듈을 통해 정규표현식을 사용할 수 있으며, 로그 분석, 데이터 정제, 패턴 검증 등 다양한 작업에 활용됩니다.


● re 모듈 기본 사용법

import re

text = "Python is powerful and fast"
match = re.search(r"power\w+", text)
print(match.group())  # powerful

re.search()는 문자열 전체에서 첫 번째로 일치하는 결과를 찾고, group()으로 추출할 수 있습니다.


● match와 fullmatch

match()는 문자열의 시작 부분만 검사하고, fullmatch()는 전체 문자열이 패턴에 맞는지 확인합니다.

re.match(r"Py\w+", "Python")          # 일치
re.fullmatch(r"\d{3}-\d{4}", "123-4567")  # 일치

● findall과 finditer

text = "Email: aaa@test.com, bbb@test.co.kr"
emails = re.findall(r"[\w.]+@[\w.]+", text)
print(emails)

findall()은 모든 일치 항목을 리스트로 반환하고, finditer()는 match 객체 이터레이터를 반환합니다.


● 문자열 치환

text = "가격: 5000원"
new_text = re.sub(r"\d+", "****", text)
print(new_text)  # 가격: ****원

sub()은 정규식에 해당하는 부분을 새 문자열로 치환합니다.


● 자주 쓰는 패턴 정리

  • \d: 숫자
  • \w: 알파벳/숫자/언더스코어
  • \s: 공백 문자
  • .: 아무 문자 하나
  • *: 0회 이상 반복
  • +: 1회 이상 반복
  • {n}: 정확히 n회 반복
  • []: 문자 집합
  • ^: 문자열 시작
  • $: 문자열 끝

● 마무리

정규표현식은 다양한 텍스트 처리 작업에서 핵심적인 도구입니다. 복잡한 문자열 필터링과 치환이 필요할 때는 re 모듈과 정규표현식을 적극적으로 활용해보세요. 단, 가독성을 위해 주석이나 테스트 코드를 함께 작성하는 습관도 중요합니다.

728x90