본문 바로가기

개발/Python

[Python] 정규식

반응형

정규식(Regular Expression)은 문자열의 패턴을 표현하는 문자열입니다. Python에서는 re 모듈을 사용하여 정규식을 처리할 수 있습니다. 정규식은 문자열의 검색, 추출, 대체 등 다양한 작업에 유용하게 사용될 수 있습니다. 이번 블로그에서는 Python에서 정규식을 사용하는 방법을 알아보겠습니다.

정규식을 사용한 문자열 검색

먼저, 정규식을 사용하여 문자열에서 패턴을 검색하는 방법을 살펴보겠습니다.


import re

# 패턴과 문자열 정의
pattern = r'apple'
text = 'I have an apple and a banana.'

# 검색
match = re.search(pattern, text)

if match:
    print('패턴을 찾았습니다!')
else:
    print('패턴을 찾지 못했습니다.')
  

위의 예제에서는 re.search() 함수를 사용하여 패턴을 검색합니다. 첫 번째 매개변수로 검색할 패턴을 전달하고, 두 번째 매개변수로 검색 대상 문자열을 전달합니다.

검색 결과는 match 객체로 반환되며, 해당 객체를 통해 검색 결과를 확인할 수 있습니다. 만약 패턴이 문자열에서 발견된다면, match 객체는 참 값을 가지게 되고, 발견되지 않는다면 거짓 값을 가지게 됩니다.

정규식을 사용한 문자열 추출

다음으로, 정규식을 사용하여 문자열에서 원하는 부분을 추출하는 방법을 알아보겠습니다.


import re

# 패턴과 문자열 정의
pattern = r'(\d{4})-(\d{2})-(\d{2})'
text = 'Today is 2023-05-11.'

# 추출
result = re.findall(pattern, text)

if result:
    for match in result:
        year, month, day = match
        print(f'날짜: {year}년 {month}월 {day}일')
  

위의 예제에서는 re.findall() 함수를 사용하여 패턴과 일치하는 모든 파트를 추출합니다. 첫 번째 매개변수로 추출할 패턴을 전달하고, 두 번째 매개변수로 추출 대상 문자열을 전달합니다.

추출 결과는 리스트 형태로 반환되며, 각 매치된 패턴은 튜플로 저장됩니다. 이를 통해 원하는 부분을 추출할 수 있습니다. 위의 예제에서는 날짜 형식인 "yyyy-mm-dd"와 매치되는 부분을 추출하고, 각각의 연도, 월, 일을 출력합니다.

정규식을 사용한 문자열 대체

마지막으로, 정규식을 사용하여 문자열 내의 특정 부분을 대체하는 방법을 살펴보겠습니다.


import re
패턴과 문자열 정의
pattern = r'apple'
text = 'I have an apple and a banana.'

대체
new_text = re.sub(pattern, 'orange', text)
print(new_text)

위의 예제에서는 re.sub() 함수를 사용하여 패턴과 일치하는 부분을 다른 문자열로 대체합니다. 첫 번째 매개변수로 패턴을 전달하고, 두 번째 매개변수로 대체할 문자열을 전달합니다. 세 번째 매개변수로 대상 문자열을 전달하고, 대체된 새로운 문자열을 반환합니다.

위의 예제에서는 "apple"이라는 단어를 "orange"로 대체하여 새로운 문자열을 생성하고 출력합니다.

반응형

자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!