본문 바로가기

파이썬

파이썬 정규 표현식

파이썬 정규 표현식: 초보자를 위한 가이드

파이썬 정규 표현식은 텍스트 데이터를 처리할 때 아주 강력한 도구입니다. 이 글에서는 정규 표현식의 기본 개념과 파이썬에서 사용하는 방법을 알아보겠습니다. 예제를 통해 각 개념을 이해하고 실습해 볼 수 있습니다.

정규 표현식이란?

정규 표현식(Regular Expression)은 문자열에서 특정한 패턴을 찾거나 대체하는 데 사용되는 일련의 문자와 기호입니다. 이를 사용하면 복잡한 문자열 조작 작업을 간단하게 처리할 수 있습니다.

파이썬에서 정규 표현식 사용하기

파이썬에서 정규 표현식을 사용하려면 re 모듈을 가져와야 합니다. 이 모듈은 정규 표현식을 사용하기 위한 여러 가지 함수를 제공합니다.

import re

기본 패턴 매칭하기

정규 표현식에서 가장 기본적인 것은 특정 문자열 패턴을 찾는 것입니다. 예를 들어, 텍스트에서 이메일 주소를 찾는 경우입니다. 이 작업은 re.search() 함수를 사용하여 수행할 수 있습니다.

import re

text = "이메일 주소는 john.doe@example.com입니다."
pattern = r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b"
match = re.search(pattern, text)

if match:
    print("이메일 주소:", match.group())
else:
    print("이메일 주소를 찾을 수 없습니다.")

위의 코드는 텍스트에서 이메일 주소를 찾아 출력합니다.

패턴 대체하기

정규 표현식을 사용하여 텍스트에서 특정 패턴을 찾아 다른 문자열로 대체할 수도 있습니다. 이 작업은 re.sub() 함수를 사용하여 수행할 수 있습니다.

import re

text = "나는 빨간색과 파란색을 좋아합니다."
pattern = r"빨간색"
replacement = "녹색"
new_text = re.sub(pattern, replacement, text)

print(new_text)

이 코드는 re 모듈을 사용하여 주어진 텍스트에서 "빨간색"이라는 패턴을 "녹색"으로 대체합니다. 코드를 실행하면 다음과 같은 결과가 출력됩니다.

나는 녹색과 파란색을 좋아합니다.

re.sub() 함수는 주어진 패턴과 일치하는 문자열을 찾아 대체 문자열로 바꾸어 새로운 문자열을 반환합니다. 이 예제에서는 "빨간색"이라는 패턴을 "녹색"으로 대체하였습니다.

패턴을 사용하여 문자열 분할하기

정규 표현식을 사용하여 특정 패턴을 기준으로 문자열을 분할할 수도 있습니다. 이 작업은 re.split() 함수를 사용하여 수행할 수 있습니다.

import re

text = "apple;banana,orange;grape"
pattern = r"[;,]"
split_text = re.split(pattern, text)

print(split_text)

위의 코드는 세미콜론(;)과 쉼표(,)를 기준으로 문자열을 분할하여 리스트로 반환합니다.

모든 패턴 일치 항목 찾기

텍스트에서 특정 패턴과 일치하는 모든 항목을 찾을 수도 있습니다. 이 작업은 re.findall() 함수를 사용하여 수행할 수 있습니다.

import re

text = "dog, cat, dog, bird, fish, dog"
pattern = r"dog"
matches = re.findall(pattern, text)

print(matches)

위의 코드는 텍스트에서 "dog" 문자열을 찾아 리스트로 반환합니다.

결론

이 글에서는 파이썬의 정규 표현식 기본 개념과 사용 방법에 대해 알아보았습니다. 이 기능은 텍스트 처리 작업을 쉽게 해주므로 익숙해지면 많은 도움이 될 것입니다.

 

자주 묻는 질문

1. 정규 표현식이란 무엇인가요?

정규 표현식은 문자열에서 특정한 패턴을 찾거나 대체하는 데 사용되는 일련의 문자와 기호입니다.

2. 파이썬에서 정규 표현식을 사용하려면 어떻게 해야 하나요?

파이썬에서 정규 표현식을 사용하려면 re 모듈을 가져와야 합니다.

3. 정규 표현식을 사용하여 문자열을 대체하려면 어떤 함수를 사용해야 하나요?

정규 표현식을 사용하여 문자열을 대체하려면 re.sub() 함수를 사용해야 합니다.

4. 정규 표현식을 사용하여 문자열을 분할하려면 어떤 함수를 사용해야 하나요?

정규 표현식을 사용하여 문자열을 분할하려면 re.split() 함수를 사용해야 합니다.

5. 정규 표현식을 사용하여 텍스트에서 모든 일치 항목을 찾으려면 어떤 함수를 사용해야 하나요?

정규 표현식을 사용하여 텍스트에서 모든 일치 항목을 찾으려면 re.findall() 함수를 사용해야 합니다.

이제 파이썬에서 정규 표현식을 사용하는 방법에 대한 기본적인 이해를 갖추셨습니다. 이 기능은 문자열 처리 작업을 쉽게 해주므로 실제 프로젝트에서 많은 도움이 될 것입니다. 좀 더 복잡한 정규 표현식을 익히고 실습해 보시면, 이 도구의 강력함을 체감하게 될 것입니다. 파이썬 정규 표현식을 활용하여 프로젝트를 더 효율적으로 진행하세요!

'파이썬' 카테고리의 다른 글

파이썬 상속과 다형성  (0) 2023.04.15
파이썬 클래스와 객체 지향 프로그래밍  (0) 2023.04.15
파이썬 파일 입출력  (0) 2023.04.14
파이썬 예외 처리  (0) 2023.04.13
파이썬 모듈과 패키지  (0) 2023.04.13