Python Regex를 사용하여 문자열 대체하는 방법
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
- Python의
re.sub()
는 유연한 패턴 기반 문자열 대체를 지원합니다. - 그룹화 및 역참조는 일치하는 콘텐츠를 재구성하는 데 도움이 됩니다.
- 함수를 사용하여 동적이고 사용자 정의된 대체를 수행할 수 있습니다.
정규 표현식(regex)은 문자열을 검색하고 조작하는 데 강력한 도구입니다. Python에서 re
모듈을 사용하면 개발자가 정규 표현식 기반 검색 및 대체 작업을 효율적으로 수행할 수 있습니다. 이 문서에서는 Python 정규 표현식을 사용하여 re.sub()
로 부분 문자열을 대체하는 방법을 설명합니다.
re
모듈 가져오기
Python에서 정규 표현식을 사용하려면 먼저 내장 re
모듈을 가져옵니다.
import re
re.sub()
의 기본 사용법
정규 표현식 대체에 사용되는 주요 함수는 re.sub(pattern, repl, string)
입니다. 이 함수는 string
에서 pattern
과 일치하는 모든 비겹침 항목을 검색하고 이를 문자열 repl
로 대체합니다.
예제 1: 숫자를 기호로 바꾸기
import re text = "주문 번호: 12345" result = re.sub(r'\d', '*', text) print(result)
출력:
주문 번호: *****
설명: 패턴 \d
는 임의의 숫자와 일치하며 모든 숫자는 *
로 바뀝니다.
대체에서 그룹 사용
괄호 ()
를 사용하여 일치 항목의 일부를 캡처하고 \1
, \2
등을 사용하여 대체 문자열에서 이를 참조할 수 있습니다.
예제 2: 날짜 형식 변경
text = "오늘은 2025-04-09입니다" result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', text) print(result)
출력:
오늘은 04/09/2025입니다
설명: 정규 표현식은 연도, 월, 일을 개별적으로 캡처하고 MM/DD/YYYY 형식으로 재정렬합니다.
동적 대체를 위한 함수 사용
일치 항목이 대체되는 방식을 더 제어하려면 함수를 repl
인수로 전달할 수 있습니다.
예제 3: 숫자 증가
def add_one(match): number = int(match.group()) return str(number + 1) text = "레벨: 1, 2, 3" result = re.sub(r'\d+', add_one, text) print(result)
출력:
레벨: 2, 3, 4
설명: 이 함수는 각 숫자를 가져와서 1씩 증가시킵니다.
플래그 및 대소문자를 구분하지 않는 대체
re.sub()
함수는 대소문자 구분과 같은 수정자를 위한 flags
매개변수를 허용합니다.
예제 4: 대소문자를 구분하지 않는 대체
text = "Hello hello HeLLo" result = re.sub(r'hello', 'hi', text, flags=re.IGNORECASE) print(result)
출력:
hi hi hi
결론
Python의 re.sub()
는 간단한 대체, 그룹 기반 재정렬, 함수를 사용한 동적 대체를 지원하는 다재다능한 함수입니다. 정규 표현식 패턴을 올바르게 사용하면 몇 줄의 코드만으로 강력한 텍스트 처리 작업을 수행할 수 있습니다.
FAQs
re.sub()
함수는 정규 표현식 기반 대체를 수행하는 데 사용됩니다.
예, 함수를 re.sub()
에 전달하면 각 일치 항목을 프로그래밍 방식으로 변환할 수 있습니다.
캡처링 그룹을 사용하고 \1
, \2
등을 사용하여 대체 문자열에서 이를 참조합니다.
Leapcell은 Python 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하세요.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불합니다. 요청 없음, 요금 없음.
최고의 비용 효율성
- 유휴 요금 없이 사용한 만큼 지불합니다.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
간편한 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있도록 자동 확장됩니다.
- 운영 오버헤드가 없으므로 구축에만 집중하세요.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ