<Python> 정규 표현식
- Developer/Python
- 2023. 8. 13.
반응형
파이썬에서 정규 표현식 사용하기
정규 표현식은 문자열에서 특정 패턴을 찾고, 검색 및 치환 작업을 쉽게 수행할 수 있는 텍스트 처리 도구입니다.
파이썬에서 정규 표현식을 사용하기 위해 제공되는 re
모듈을 사용합니다.
정규 표현식 패턴 작성하기
.
: 임의의 문자 하나와 일치합니다.*
: 앞선 문자가 0회 이상 반복되는 패턴입니다.+
: 앞선 문자가 1회 이상 반복되는 패턴입니다.?
: 앞선 문자가 0 또는 1회 반복되는 패턴입니다.{n}
: 앞선 문자가 n회 반복되는 패턴입니다.{n, m}
: 앞선 문자가 n회 이상, m회 이하 반복되는 패턴입니다.[]
: 대괄호 안의 문자 중 하나와 일치합니다.[^]
: 대괄호 안의 문자를 제외한 문자 중 하나와 일치합니다.|
: 파이프 기호는 OR 조건을 나타납니다.()
: 소괄호는 그룹을 만들어서 특정 역할을 나타낼 수 있습니다.
re 모듈 사용법
정규 표현식 작업을 수행하기 위해서 파이썬은 re
모듈을 제공합니다.
re
모듈에서 주로 사용되는 메서드는 다음과 같습니다.
re.match()
: 문자열 시작 부분에서 패턴이 일치하는지 확인합니다.re.search()
: 문자열 전체에 걸쳐 패턴이 있는지 확인합니다.re.findall()
: 주어진 문자열에서 패턴과 일치하는 모든 부분을 찾습니다.re.finditer()
: 패턴과 일치하는 모든 부분에 대한 반복 가능한 iterator를 반환합니다.re.sub()
: 패턴과 일치하는 부분을 대체 문자열로 바꿉니다.
re.match() 예제
import re
pattern = "^hello"
text = "hello, world!"
result = re.match(pattern, text)
if result:
print("Match found")
else:
print("Not found")
re.search() 예제
import re
pattern = "hello"
text = "Hi! hello, world!"
result = re.search(pattern, text)
if result:
print("Pattern found")
else:
print("Not found")
re.findall() 예제
import re
pattern = "\d+"
text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
result = re.findall(pattern, text)
print(result) # 출력: ['12', '11', '10', '9', '8']
re.finditer() 예제
import re
pattern = "\d+"
text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
result = re.finditer(pattern, text)
for match in result:
print(match.group()) # 출력: 12, 11, 10, 9, 8
re.sub() 예제
import re
pattern = "\d+"
text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
replacement = "[number]"
result = re.sub(pattern, replacement, text)
print(result) # 출력: [number] drummers, [number] pipers, [number] lords, [number] ladies, [number] maids
이 글에서는 파이썬에서 정규 표현식을 사용하는 방법에 대해 살펴보았습니다.
파이썬의 re
모듈을 사용하여 문자열에서 원하는 패턴을 쉽게 찾고, 검색하고, 바꿀 수 있습니다.
감사합니다.
'Developer > Python' 카테고리의 다른 글
<Python> JSON 데이터처리 (0) | 2023.08.14 |
---|---|
<Python> CSV 다루기 (0) | 2023.08.13 |
<Python> 테스트 코드 작성과 unittest 모듈 (0) | 2023.08.12 |
<Python> 디버깅 도구 사용법 (0) | 2023.08.11 |
<Python> 시간 관련 모듈: datetime, time (0) | 2023.08.10 |