반응형
re.sub
함수는 파이썬의 re
모듈에서 제공하는 함수 중 하나로, 정규 표현식과 일치하는 문자열을 다른 문자열로 교체하는 데 사용됩니다. 이 함수는 일치하는 모든 부분을 한 번에 교체하며, 매우 강력한 문자열 조작 도구입니다.
1. re.sub
함수의 사용법
import re
result = re.sub(pattern, repl, string, count=0, flags=0)
pattern
: 정규 표현식 패턴입니다.repl
: 교체할 문자열입니다.string
: 검색할 문자열입니다.count
: 선택적 인수로, 교체할 최대 횟수를 지정합니다. 기본값은 0이며, 이는 모든 일치 항목을 교체하는 것을 의미합니다.flags
: 선택적 인수로, 정규 표현식의 동작을 수정하는 플래그입니다.
2. 기본 예제
import re
# 예제 문자열
text = "Hello, world! Hello, universe!"
# 정규 표현식 패턴
pattern = r"Hello"
# 교체할 문자열
replacement = "Hi"
# re.sub를 사용하여 문자열 교체
result = re.sub(pattern, replacement, text)
print(result)
출력:
Hi, world! Hi, universe!
3. 대소문자 무시 예제
import re
# 예제 문자열
text = "Hello, world! hello, universe!"
# 정규 표현식 패턴
pattern = r"hello"
# 교체할 문자열
replacement = "Hi"
# re.sub를 사용하여 문자열 교체 (대소문자 무시)
result = re.sub(pattern, replacement, text, flags=re.IGNORECASE)
print(result)
출력:
Hi, world! Hi, universe!
4. 그룹을 사용한 교체 예제
import re
# 예제 문자열
text = "My email is example@test.com"
# 정규 표현식 패턴 (그룹화 포함)
pattern = r"(\w+)@(\w+)\.(\w+)"
# 교체할 문자열 (도메인 부분을 익명화)
replacement = r"\1@hidden.\3"
# re.sub를 사용하여 문자열 교체
result = re.sub(pattern, replacement, text)
print(result)
출력:
My email is example@hidden.com
5. 숫자 형식 변환 예제
import re
# 예제 문자열
text = "My phone number is 123-456-7890."
# 정규 표현식 패턴
pattern = r"(\d{3})-(\d{3})-(\d{4})"
# 교체할 문자열 (다른 형식으로 변환)
replacement = r"(\1) \2-\3"
# re.sub를 사용하여 문자열 교체
result = re.sub(pattern, replacement, text)
print(result)
출력:
My phone number is (123) 456-7890.
6. 텍스트에서 HTML 태그 제거 예제
import re
# 예제 문자열 (HTML 포함)
text = "<p>This is a paragraph.</p><a href='#'>This is a link.</a>"
# 정규 표현식 패턴 (HTML 태그)
pattern = r"<.*?>"
# 교체할 문자열 (빈 문자열)
replacement = ""
# re.sub를 사용하여 HTML 태그 제거
result = re.sub(pattern, replacement, text)
print(result)
출력:
This is a paragraph.This is a link.
7. 최대 교체 횟수 제한 예제
import re
# 예제 문자열
text = "apple orange apple banana apple"
# 정규 표현식 패턴
pattern = r"apple"
# 교체할 문자열
replacement = "fruit"
# re.sub를 사용하여 문자열 교체 (최대 2번만 교체)
result = re.sub(pattern, replacement, text, count=2)
print(result)
출력:
fruit orange fruit banana apple
8. 요약
re.sub
함수는 정규 표현식 패턴과 일치하는 문자열을 다른 문자열로 교체하는 데 사용됩니다.re.sub(pattern, repl, string, count=0, flags=0)
형식으로 사용됩니다.- 다양한 플래그를 사용하여 대소문자를 무시하거나 다른 옵션을 설정할 수 있습니다.
- 그룹을 사용하여 부분 문자열을 참조하여 교체할 수 있습니다.
- 교체 횟수를 제한할 수 있습니다.
이 예제들을 통해 re.sub
함수를 사용하여 문자열을 다양한 방식으로 교체하는 방법을 이해할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] match() 에서 표현식 (?? vs *? vs +?) 설명과 예제 (0) | 2024.07.27 |
---|---|
[ Python ] match() 사용시 Greedy vs Non-Greedy 설명과 예제 (0) | 2024.07.27 |
[ Python ] 글 작성시 흔히 하는 실수를 정규 표현식으로 찾기 (2) | 2024.07.21 |
[ Python ] re.findall()과 group() 메서드 사용하기 (0) | 2024.07.21 |
[ Python ] re.findall() 사용하기 (0) | 2024.07.21 |