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

