-
파이썬 배우기: 정규 표현식(Regex)IT - 프로그래밍/파이썬 2025. 3. 12. 12:10반응형
정규 표현식(Regular Expression, Regex) 은 문자열에서 특정 패턴을 찾거나, 변경하거나, 검증하는 강력한 도구입니다.
파이썬에서는 re 모듈을 사용하여 정규 표현식을 처리할 수 있습니다.
이번 글에서는 정규 표현식의 기본 개념과 활용법을 정리해 보겠습니다!정규 표현식이란?
정규 표현식(Regex) 은 특정한 규칙을 가진 문자열 패턴을 정의하는 표현식입니다.
✅ 문자열 검색, 패턴 매칭, 텍스트 데이터 처리 등에 활용됩니다.
📌 정규 표현식 기본 예제import re text = "Python is fun!" pattern = r"Python" if re.search(pattern, text): print("패턴을 찾았습니다!")✅ re.search(pattern, text) → 문자열에서 패턴 검색
정규 표현식 기본 문법
정규 표현식에서 많이 쓰이는 기호들을 알아보겠습니다.

파이썬 re 모듈 활용법
(1) re.search() – 문자열에서 패턴 찾기
import re text = "My email is example@gmail.com" pattern = r"\w+@\w+\.\w+" match = re.search(pattern, text) if match: print("이메일을 찾았습니다:", match.group())✅ 출력 결과
이메일을 찾았습니다: example@gmail.com
🔹 \w+@\w+\.\w+ → 이메일 형식 매칭
🔹 match.group() → 찾은 패턴 출력
(2) re.findall() – 모든 일치 항목 찾기import re text = "My emails are first@gmail.com and second@yahoo.com" pattern = r"\w+@\w+\.\w+" matches = re.findall(pattern, text) print(matches)출력 결과
['first@gmail.com', 'second@yahoo.com']
🔹 re.findall(pattern, text) → 모든 이메일 찾기
(3) re.sub() – 문자열 치환하기import re text = "My phone number is 123-456-7890" pattern = r"\d{3}-\d{3}-\d{4}" replacement = "[HIDDEN]" new_text = re.sub(pattern, replacement, text) print(new_text)출력 결과
My phone number is [HIDDEN]
🔹 re.sub(pattern, replacement, text) → 개인 정보 보호 처리
(4) re.split() – 정규 표현식으로 문자열 분할import re text = "apple, orange; banana grape" pattern = r"[,; ]+" words = re.split(pattern, text) print(words)출력 결과
['apple', 'orange', 'banana', 'grape']
🔹 [,; ]+ → 쉼표(,), 세미콜론(;), 공백을 기준으로 문자열 분할
정규 표현식 활용 예제
(1) 전화번호 검증
import re pattern = r"^\d{3}-\d{3,4}-\d{4}$" phone_numbers = ["010-1234-5678", "02-567-8901", "123-4567-890"] for number in phone_numbers: if re.match(pattern, number): print(f"유효한 번호: {number}") else: print(f"잘못된 번호: {number}")✅ ^\d{3}-\d{3,4}-\d{4}$ → 한국 전화번호 형식 검사
(2) 비밀번호 강도 검사
import re pattern = r"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$" passwords = ["abc123!", "StrongPass1@", "weakpass"] for password in passwords: if re.match(pattern, password): print(f"강력한 비밀번호: {password}") else: print(f"약한 비밀번호: {password}")✅ (?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&]) → 영문, 숫자, 특수문자 포함
✅ {8,} → 최소 8 자 이상마무리 및 요약
✅ 정규 표현식(Regex) 은 문자열에서 특정 패턴을 찾거나 변환하는 강력한 도구
✅ 파이썬 re 모듈을 사용하여 정규 표현식 활용 가능
✅ 주요 함수
• re.search() → 일치하는 패턴 검색
• re.findall() → 모든 패턴 찾기
• re.sub() → 문자열 치환
• re.split() → 패턴 기준으로 문자열 분할
이제 정규 표현식을 활용하여 더 효율적으로 문자열을 처리해 보세요!
#파이썬 #Python #정규표현식 #Regex #문자열처리 #개발자 #PythonTips #파이썬공부 #코딩스킬 #데이터처리반응형'IT - 프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 배우기: OOP 기본 – 추상화와 다형성 (0) 2025.03.19 파이썬 배우기: OOP 기본 – 캡슐화 및 상속 (0) 2025.03.14 파이썬 배우기: 고차 함수, 클로저 및 데코레이터 완벽 정리 (0) 2025.03.02 파이썬 배우기: 재귀 함수 활용하기 (0) 2025.02.27 파이썬 배우기: 익명 함수(lambda 함수) (0) 2025.02.26