학습 자료 글/파이썬 시작하기

[파이썬 기초 시리즈 12]정규표현식과 실전 응용 기초편

cedis 2026. 3. 24. 01:10
파이썬 기초 완성형 시리즈 · 12장
정규표현식 · re · 패턴 검색 · 문자열 검사 · 실전 응용 · 학습 확장

정규표현식과 실전 응용 기초편
문자열 속 규칙을 찾아내고, 파이썬 기초를 실제 활용 감각으로 연결하는 마지막 장

이 장에서는 파이썬 기초 시리즈의 마지막 단계로서 정규표현식의 가장 기본 개념과, 지금까지 배운 변수·조건문·반복문·함수·파일 처리·예외 처리·모듈을 실제 문제에 어떻게 연결하는지 다룹니다. 정규표현식은 처음 보면 낯설지만, 핵심은 복잡한 문자를 외우는 것이 아니라 문자열 안에서 일정한 규칙을 찾는 도구라는 점입니다. 이 장의 목표는 re 모듈의 기본 사용법, 자주 쓰는 패턴, 검색과 추출의 감각, 실전 활용 흐름을 부담 없이 익히는 것입니다.
이 장에서 배우는 것
  • 정규표현식이 왜 필요한지 이해합니다.
  • re 모듈과 search(), findall()의 기본을 배웁니다.
  • 숫자, 이메일 비슷한 패턴, 반복 기호 등 자주 쓰는 표현을 익힙니다.
  • 정규표현식이 문자열 처리, 파일 처리, 입력 검증과 어떻게 연결되는지 이해합니다.
  • 시리즈 전체를 실제 활용 방향으로 정리하는 학습 확장 로드맵을 얻습니다.
이 장을 끝내면
  • 간단한 문자열 규칙을 정규표현식으로 찾아낼 수 있습니다.
  • 텍스트에서 원하는 정보만 골라내는 초보 수준의 실습이 가능해집니다.
  • 정규표현식이 필요할 때와 일반 문자열 메서드로 충분할 때를 구분할 수 있습니다.
  • 파이썬 기초를 마친 뒤 어떤 방향으로 확장 학습할지 감을 잡을 수 있습니다.
1

정규표현식은 “문자열 속 규칙 찾기”라고 이해하면 훨씬 쉽습니다

정규표현식이라는 이름만 보면 굉장히 수학적이고 어려운 개념처럼 느껴질 수 있습니다. 하지만 초보자 관점에서 가장 중요한 것은 이름이 아니라 역할입니다. 예를 들어 문장 속에서 숫자만 찾고 싶다거나, 이메일처럼 생긴 부분만 골라내고 싶다거나, 특정 형식의 단어가 맞는지 검사하고 싶은 순간이 있습니다. 이런 작업을 일반 문자열 메서드만으로 처리하려면 코드가 길어지고 복잡해질 수 있습니다.

정규표현식은 바로 이럴 때 씁니다. 핵심은 문자 하나하나를 직접 비교하는 대신, 문자들의 패턴을 한 번에 표현하는 것입니다. 그래서 정규표현식은 외워야 할 암호라기보다, 문자열의 규칙을 짧게 적는 문법이라고 생각하면 훨씬 덜 어렵습니다.

한눈에 보는 정규표현식의 쓰임

찾기
문자열 속 특정 형식을 찾아냅니다.
검사하기
입력값이 어떤 형식에 맞는지 확인합니다.
추출하기
긴 텍스트에서 필요한 정보만 뽑아냅니다.

re 모듈: 정규표현식의 출발점

파이썬에서 정규표현식은 보통 re 모듈을 통해 사용합니다. 즉 먼저 모듈을 불러오고, 그다음 검색이나 추출 기능을 활용하면 됩니다.

import re

text = "python 3 version"
result = re.search("python", text)
print(result)
위 코드는 text 안에 python이라는 문자열 패턴이 있는지 검색합니다. 검색에 성공하면 일치 정보가 보이고, 없으면 None이 나옵니다.
처음 익히기 좋은 함수
search() : 일치하는 패턴이 있는지 찾기
findall() : 일치하는 모든 결과를 목록으로 가져오기
sub() : 패턴에 맞는 부분 바꾸기

가장 많이 보는 기호만 먼저 익히면 됩니다

.
아무 문자 하나
\d
숫자 하나
\w
문자·숫자·밑줄 계열
+
앞 패턴이 1번 이상 반복
*
앞 패턴이 0번 이상 반복
?
있을 수도 있고 없을 수도 있음
처음부터 모든 기호를 외우려 하지 말고, 숫자 찾기, 문자 반복 찾기, 특정 형식 검사하기에 자주 쓰는 것부터 익히는 것이 훨씬 좋습니다.

숫자 찾기 예제

문장 속 숫자만 뽑아내고 싶을 때는 \d+ 같은 패턴을 자주 씁니다.

import re

text = "사과 3개, 배 12개, 귤 5개"
nums = re.findall("\\d+", text)
print(nums)
결과는 문자열 목록 형태로 나옵니다. 즉 '3', '12', '5'처럼 가져오므로, 계산이 필요하면 나중에 int()로 바꿀 수 있습니다.

간단한 형식 검사 예제

예를 들어 휴대폰 번호처럼 보이는 형식을 아주 단순하게 검사하고 싶다면 패턴 검색을 활용할 수 있습니다.

import re

text = "연락처: 010-1234-5678"
result = re.search("010-\\d{4}-\\d{4}", text)
print(result)
여기서 {4}는 “앞의 패턴이 4번 반복”된다는 뜻입니다.

findall()은 실전에서 정말 자주 씁니다

초보자가 정규표현식을 처음 접할 때 가장 손에 익히기 좋은 함수 중 하나가 findall()입니다. 이름 그대로 패턴에 맞는 모든 결과를 리스트로 가져오기 때문입니다. 눈으로 결과를 확인하기 쉬워서 학습용으로도 좋고, 실제 텍스트 정리에도 바로 쓸 수 있습니다.

영어 단어 찾기
text = "python data AI"
print(re.findall("\\w+", text))
숫자 덩어리 찾기
text = "가격 1000원, 할인 200원"
print(re.findall("\\d+", text))
즉 긴 문장에서 필요한 조각만 골라내고 싶을 때 findall()을 먼저 떠올리면 좋습니다.

정규표현식은 문자열 메서드와 경쟁 관계가 아니라 보완 관계입니다

문자열 메서드로 충분한 경우
  • 특정 단어 포함 여부 확인
  • split(), replace(), strip() 처리
  • 단순한 고정 문자열 검사
정규표현식이 유리한 경우
  • 문자열 형식이 일정한 패턴을 가질 때
  • 숫자, 날짜, 번호 같은 규칙 추출
  • 긴 텍스트에서 여러 패턴을 한 번에 찾고 싶을 때
초보 단계에서는 “무조건 정규표현식”으로 가지 말고, 단순하면 문자열 메서드, 규칙성이 강하면 정규표현식이라는 감각을 가지면 좋습니다.

짧은 종합 예제: 파일에서 숫자만 추출하기

import re

with open("report.txt", "r", encoding="utf-8") as file:
    text = file.read()

numbers = re.findall("\\d+", text)
print(numbers)
이 예제에는 지금까지 배운 내용이 자연스럽게 연결되어 있습니다. 모듈 import, 파일 읽기, 변수 저장, 정규표현식 추출, 출력까지 한 흐름으로 이어지기 때문에, 파이썬 기초가 실제 문제 해결에서 어떻게 합쳐지는지 잘 보여 줍니다.

초보자가 자주 하는 실수 1

result = re.findall("\\d+", text)
re 모듈을 먼저 import 하지 않았다면 오류가 납니다. 정규표현식도 결국 모듈 기능이라는 점을 잊지 말아야 합니다.

초보자가 자주 하는 실수 2

nums = re.findall("\\d+", text)
print(sum(nums))
findall()로 가져온 숫자는 문자열 목록일 수 있으므로 바로 합계를 구할 수 없습니다. 필요하면 정수로 바꾸는 과정이 필요합니다.

초보자가 자주 하는 실수 3

text = "abc123"
print(re.search("\d+", text))
패턴 문자열 안의 백슬래시는 처음에는 낯설 수 있습니다. 실습을 반복하면서 “숫자 패턴을 찾는 기호” 정도로 감각을 익히는 것이 중요하지, 처음부터 완벽하게 외우는 것이 핵심은 아닙니다.

올바른 확장 예시

import re

text = "abc123"
match = re.search("\\d+", text)
if match:
    print(match.group())
검색 결과가 실제로 존재하는지 확인한 뒤 활용하는 습관을 들이면 훨씬 안정적으로 코드를 작성할 수 있습니다.

실전 응용 사고 흐름 한눈에 보기

STEP 1
문제 정의
무엇을 찾고 검사할지 먼저 분명히 합니다.
STEP 2
도구 선택
문자열 메서드인지, 정규표현식인지 판단합니다.
STEP 3
검색·추출
re 모듈로 필요한 조각만 찾아냅니다.
STEP 4
활용하기
조건문, 함수, 파일 처리와 연결해 실제 기능으로 확장합니다.

시리즈 전체를 마친 뒤 추천하는 확장 학습 방향

자동화
파일 처리, 반복문, 예외 처리, 모듈을 연결해 반복 업무 자동화에 도전할 수 있습니다.
데이터 분석 기초
자료형, 함수, 파일 읽기 경험은 이후 데이터 처리 학습의 좋은 발판이 됩니다.
웹·크롤링 입문
문자열 처리와 정규표현식은 웹 데이터 정리에 특히 유용합니다.
알고리즘·코딩 테스트
조건문, 반복문, 함수, 자료구조 기초가 문제 해결 학습의 핵심이 됩니다.
즉 이 시리즈의 핵심은 단지 문법을 한 번 보는 것이 아니라, 이후 어떤 분야로 가더라도 흔들리지 않는 기초 체력을 만드는 데 있습니다.

이 장의 핵심 요약

정규표현식은 문자열 속 규칙을 짧게 표현해 찾고 검사하는 도구다.
re 모듈의 search(), findall()은 초보자가 가장 먼저 익히기 좋은 함수다.
단순한 문자열 처리는 메서드로, 규칙 기반 처리는 정규표현식으로 접근하면 좋다.
파이썬 기초는 정규표현식, 파일 처리, 예외 처리와 결합될 때 실제 활용 감각으로 이어진다.

체크리스트

□ 정규표현식이 왜 필요한지 자신의 말로 설명할 수 있다.
□ re.search()와 re.findall()의 차이를 이해했다.
□ 숫자 패턴 같은 간단한 정규표현식을 읽고 사용할 수 있다.
□ 파이썬 기초 문법들을 실전 흐름으로 연결하는 감각을 얻었다.

미니 연습문제

  1. 문장 안에서 숫자만 추출하는 코드를 작성해 보세요.
  2. 문자열 안에 이메일처럼 보이는 형식이 있는지 간단히 검사하는 정규표현식을 시도해 보세요.
  3. 텍스트 파일을 읽은 뒤, 그 안에 있는 숫자들을 모두 찾아 출력하는 프로그램을 만들어 보세요.
Series Complete
축하합니다. 이제 변수와 자료형, 조건문, 반복문, 함수, 입력·출력, 파일 처리, 예외 처리, 모듈, 정규표현식까지 파이썬 기초 학습의 큰 흐름을 한 바퀴 완주했습니다.
이제부터는 단순히 문법을 아는 단계가 아니라, 작은 프로그램을 직접 만들고, 문제를 나누고, 데이터를 다루며, 필요한 기능을 확장해 나갈 수 있는 출발선에 서게 된 것입니다.