[Python] 파이썬에서 주로 활용하는 정규표현식

KangHo Lee's avatar
Jun 05, 2025
[Python] 파이썬에서 주로 활용하는 정규표현식
파이썬에서 자주 사용하는 정규표현식(Regex)은 문자열 검색, 추출, 검증, 치환 등에 매우 유용합니다.

✅ 기본 사용법 (re 모듈)

import re pattern = r"정규표현식" text = "대상 문자열" re.search(pattern, text) # 하나 찾기 re.findall(pattern, text) # 전부 찾기 re.sub(pattern, "바꿀값", text) # 치환

🧩 자주 사용하는 정규표현식 패턴

패턴
의미
예시
.
아무 문자 1개
a.cabc, acc
\d
숫자 (0~9)
\d+ → "123", "42"
\D
숫자 제외
\D+ → "abc", "@!"
\w
알파벳+숫자+_
\w+ → "word_123"
\W
특수문자
\W+ → "!@#", " "
\s
공백 문자
\s+ → " ", "\n", "\t"
^
시작
^Hello → "Hello world"
$
world$ → "hello world"
`a
b`
a 또는 b
[]
문자 집합
[abc] → a/b/c
[^abc]
a, b, c 제외
[^0-9] → 숫자 아닌 문자
{n}
정확히 n개
\d{3} → 3자리 숫자
{n,m}
n~m개 반복
a{2,4} → aa, aaa, aaaa

📌 실전 예시 모음

1. 이메일 주소 찾기

re.findall(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}", text)

2. 전화번호 (010-1234-5678)

re.findall(r"010-\d{4}-\d{4}", text)

3. 숫자만 추출

re.findall(r"\d+", "abc123def45") # ['123', '45']

4. 한글만 추출

re.findall(r"[가-힣]+", "안녕하세요123abc") # ['안녕하세요']

5. 영어 대소문자 추출

re.findall(r"[a-zA-Z]+", "Hi123안녕") # ['Hi']

🔄 문자열 치환

re.sub(r"\d+", "***", "비밀번호는 1234입니다.") # 출력: '비밀번호는 ***입니다.'

✅ 요약

  • \d, \w, . 등은 가장 기본이자 강력한 축약 패턴
  • re.findall, re.sub, re.match, re.search 자주 사용
  • 문자열 검증, 파싱, 치환에 정규표현식 매우 유용

Share article

devleekangho