반응형
Python에서 정규 표현식(Regular Expression, 줄여서 regex)은 문자열을 검색, 매칭, 수정하는 데 매우 유용한 도구입니다. Python에서는 re 모듈을 사용하여 정규 표현식을 다룰 수 있습니다.
아래에서 re 모듈을 사용한 세 가지 예시를 통해 정규 표현식의 사용 방법을 설명하겠습니다.
1. 패턴을 사용하여 문자열 찾기 (re.search)
이 예시에서는 re.search() 함수로 주어진 문자열에서 정규 표현식에 해당하는 부분을 찾습니다.
import re
text = "My phone number is 123-456-7890."
pattern = r"\d{3}-\d{3}-\d{4}" # 3개의 숫자, - , 3개의 숫자, - , 4개의 숫자
match = re.search(pattern, text)
if match:
print("Phone number found:", match.group())
else:
print("Phone number not found.")
설명:
- pattern = r"\d{3}-\d{3}-\d{4}"은 숫자 3자리, 하이픈, 숫자 3자리, 하이픈, 숫자 4자리로 이루어진 패턴입니다.
- re.search()는 문자열 내에서 패턴을 찾고 첫 번째로 일치하는 부분을 반환합니다. 일치하는 부분이 없으면 None을 반환합니다.
- match.group()은 일치한 문자열을 반환합니다.
2. 문자열에서 모든 일치 항목 찾기 (re.findall)
re.findall()은 문자열에서 정규 표현식과 일치하는 모든 항목을 리스트로 반환합니다.
import re
text = "There are 3 cats, 5 dogs, and 10 birds."
pattern = r"\d+" # 숫자 하나 이상
numbers = re.findall(pattern, text)
print("Found numbers:", numbers)
설명:
- pattern = r"\d+"은 하나 이상의 숫자에 매칭되는 패턴입니다.
- re.findall()은 주어진 문자열에서 정규 표현식에 매칭되는 모든 부분을 리스트로 반환합니다. 예를 들어 "3", "5", "10"이 모두 리스트로 반환됩니다.
3. 문자열 치환하기 (re.sub)
re.sub() 함수는 주어진 패턴과 일치하는 부분을 다른 문자열로 치환하는데 사용됩니다.
import re
text = "The price is 100 dollars and 200 dollars."
pattern = r"\d+" # 숫자에 매칭되는 패턴
replacement = "X" # 숫자를 "X"로 치환
new_text = re.sub(pattern, replacement, text)
print("Updated text:", new_text)
설명:
- pattern = r"\d+"은 하나 이상의 숫자에 매칭되는 패턴입니다.
- re.sub()는 문자열 내에서 패턴과 일치하는 모든 부분을 주어진 replacement 값으로 치환합니다. 이 예시에서는 모든 숫자가 "X"로 바뀝니다.
정리:
- re.search(): 문자열에서 패턴에 맞는 첫 번째 항목을 찾습니다.
- re.findall(): 문자열에서 패턴에 맞는 모든 항목을 리스트로 반환합니다.
- re.sub(): 문자열에서 패턴에 맞는 부분을 다른 문자열로 치환합니다.
정규 표현식은 문자열을 다루는 데 매우 강력한 도구이므로 다양한 패턴을 만들 수 있고, 이를 통해 매우 복잡한 문자열 처리 작업도 효율적으로 처리할 수 있습니다.
반응형
'프로그래밍 > [ Python ]' 카테고리의 다른 글
[Python] Lambda (0) | 2024.11.21 |
---|---|
[Python] Iterator (2) | 2024.11.20 |
[Python] DataFrame (1) (0) | 2024.11.18 |
[Python] JSON 처리 (1) | 2024.11.15 |
[Python] 예외처리 try, except (0) | 2024.11.14 |