정규 표현식(Regular Expressions, Regex)은 특정한 규칙을 가진 문자열의 검색, 추출, 치환 등을 수행하기 위한 강력한 도구입니다. 파이썬에서는 re
모듈을 사용하여 정규 표현식을 다룰 수 있습니다. 이번 포스팅에서는 정규 표현식의 기본 개념부터 파이썬에서의 활용 방법까지 자세히 알아보겠습니다.
정규 표현식이란?
정규 표현식은 문자열을 정의하는 패턴입니다. 이 패턴을 사용하여 문자열을 검색하거나, 일치하는 문자열을 찾거나, 치환할 수 있습니다. 정규 표현식은 다양한 프로그래밍 언어에서 지원되며, 텍스트 데이터 처리에 매우 유용합니다.
파이썬에서의 정규 표현식
파이썬에서는 re
모듈을 통해 정규 표현식을 사용할 수 있습니다. 이 모듈은 문자열 검색, 치환, 분할 등의 기능을 제공합니다.
re
모듈 임포트
import re
정규 표현식 함수
- search(): 문자열 전체를 검색하여 정규식과 일치하는 첫 번째 부분을 반환합니다.
import re pattern = r'\d+' # 숫자에 일치하는 패턴 text = "My number is 12345" match = re.search(pattern, text) if match: print(match.group()) # 12345
- match(): 문자열의 시작 부분을 검색하여 정규식과 일치하는 부분을 반환합니다.
import re pattern = r'\d+' text = "12345 is my number" match = re.match(pattern, text) if match: print(match.group()) # 12345
- findall(): 정규식과 일치하는 모든 부분을 리스트로 반환합니다.
import re pattern = r'\d+' text = "My numbers are 123 and 456" matches = re.findall(pattern, text) print(matches) # ['123', '456']
- finditer(): 정규식과 일치하는 모든 부분을 반복 가능한 객체로 반환합니다.
import re pattern = r'\d+' text = "My numbers are 123 and 456" matches = re.finditer(pattern, text) for match in matches: print(match.group()) # 123, 456
- sub(): 정규식과 일치하는 부분을 다른 문자열로 치환합니다.
import re pattern = r'\d+' text = "My number is 12345" result = re.sub(pattern, "XXXXX", text) print(result) # My number is XXXXX
정규 표현식 패턴
.
: 모든 문자와 일치합니다.^
: 문자열의 시작과 일치합니다.$
: 문자열의 끝과 일치합니다.*
: 0회 이상 반복과 일치합니다.+
: 1회 이상 반복과 일치합니다.?
: 0회 또는 1회 반복과 일치합니다.{m,n}
: m회 이상, n회 이하 반복과 일치합니다.[abc]
: a, b, c 중 하나와 일치합니다.[^abc]
: a, b, c가 아닌 문자와 일치합니다.\d
: 숫자와 일치합니다.\D
: 숫자가 아닌 문자와 일치합니다.\s
: 공백 문자와 일치합니다.\S
: 공백이 아닌 문자와 일치합니다.\w
: 단어 문자(알파벳, 숫자, 언더스코어)와 일치합니다.\W
: 단어 문자가 아닌 문자와 일치합니다.
정규 표현식 예제
다음은 정규 표현식을 사용하여 이메일 주소를 검증하는 예제입니다.
import re
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern, email) is not None
email = "test@example.com"
print(is_valid_email(email)) # True
email = "invalid-email"
print(is_valid_email(email)) # False
이 예제에서는 이메일 주소 형식에 맞는 패턴을 정의하고, 이를 사용하여 입력된 이메일 주소가 유효한지 확인합니다.
결론
정규 표현식은 문자열 처리 작업을 보다 효율적으로 수행할 수 있게 해주는 강력한 도구입니다. 파이썬의 re
모듈을 사용하여 다양한 문자열 검색, 추출, 치환 작업을 손쉽게 할 수 있습니다. 이번 포스팅을 통해 정규 표현식의 기본 개념과 파이썬에서의 활용 방법을 익히고, 실무에 적용해 보시기 바랍니다.
반응형
'유용한 정보 조각' 카테고리의 다른 글
윈도우 11 설치(부팅) USB 디스크 만드는 방법 (0) | 2024.07.22 |
---|---|
INISAFE CrossWeb EX: 프로그램 삭제(제거) 및 업데이트 방법 (1) | 2024.07.22 |
국내 가볼 만한 자동차 박물관 4곳 (2) | 2024.07.22 |
여행자보험 필수 국가 4곳(꼭 확인하고 가세요~!) (0) | 2024.07.22 |
명탐정 코난 100만달러의 펜타그램 특전 받는 방법 (0) | 2024.07.22 |
댓글