Ch1-1. 파이썬 정규표현식 다시보기

2023. 7. 17. 11:36·프로젝트 단위 공부/[부스트코스] DataLit : 데이터 다루기

정규표현식

긴 텍스트 세트에서 찾을 수 있는 문자열이나 패턴을 표현하기 위해 구성하는 기호 또는 문자의 부분집합이다.

정규표현식을 알아야 하는 이유

텍스트 편집기에서 '찾아 바꾸기'를 사용해본 경험이 있을 것이다. 정규표현식은 이 기능을 수행할 수 있도록 도와준다. 이 기술을 익히면 텍스트 분류나 많은 양의 텍스트 데이터를 정제할 때 시간을 크게 절약할 수 있다.

정규표현식 예시

정규표현식을 사용해 입력된 텍스트가 유효한 이메일인지 확인

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

모듈 설치

먼저 정규표현식을 사용하기 위한 모듈을 설치해주어야 한다. 표준 re 모듈은 파이썬 설치시 함께 포함되며, 고급 내장 함수를 사용하고 싶다면 regex 라이브러리를 설치하면 된다. colab 같은 경우 따로 설지해줄 필요가 없다.

pip install regex # in bash
!pip install regex # in jupyter notebook

모듈 불러오기

import re
import regex

정규표현식 컴파일하기

RegEx 정규표현식은 패턴 객체로 컴파일될 수 있는데 다양한 동작과 함께 사용될 수 있다. 예를 들어 '[a-z]+' 같은 정규표현식을 컴파일해서 문자열과 매칭하여 그 패턴이 문자열에 있는지 확인할 수 있다.

email_validator = re.compile('[a-z]+')
print(email_validator.match('schoolofaiBellevue')

위 코드의 실행 결과로 <re.Match object; span=(0, 10), match='schoolofai'>가 나온다. 그러나 정규 표현식에서 '+'를 빼고 실행시킨다면 결과가 어떻게 바뀔까?

email_validator = re.compile('[a-z]')
print(email_validator.match('schoolofaiBellevue')

위 코드의 실행 결과는 <re.Match object; span=(0, 1), match='s'>가 나온다.

def valid_email(email):
	return bool(re.search("^[\w\.\+\-]+\@[\w]+\.[a-z]{2,3}$", email)
valid_email("test@theschool.ai")

여기서 사용된 정규표현식은 아주 간단해서 모든 경우를 다 해결하지 못할 수 있다. 파이썬에는 이메일을 검증하는 데 사용하는 내장 라이브러리들이 있다. 모든 정규 표현식을 기억하기는 힘드므로, 우선 배우고 당면한 문제들은 검색을 통해 해결하자.

 

참고 링크

DataLit : 데이터다루기

https://www.boostcourse.org/ds103/joinLectures/84465

 

python 정규표현식 공식 문서

https://docs.python.org/3/library/re.html

 

'프로젝트 단위 공부 > [부스트코스] DataLit : 데이터 다루기' 카테고리의 다른 글

Ch1-9. 데이터 시각화하기  (0) 2023.07.21
Ch1-7. 확률 변수  (0) 2023.07.20
Ch1-6. 이산 확률  (0) 2023.07.20
Ch1-3. 텍스트 데이터 정제  (0) 2023.07.17
Ch1-2. SQL 테크닉  (0) 2023.07.17
'프로젝트 단위 공부/[부스트코스] DataLit : 데이터 다루기' 카테고리의 다른 글
  • Ch1-7. 확률 변수
  • Ch1-6. 이산 확률
  • Ch1-3. 텍스트 데이터 정제
  • Ch1-2. SQL 테크닉
기억에 남는 블로그 닉네임
기억에 남는 블로그 닉네임
  • 기억에 남는 블로그 닉네임
    얕게, 깊게
    기억에 남는 블로그 닉네임
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 분류 전체보기
      • Data Engineering
        • Airflow
        • 빅데이터
        • 자동화
        • 기타
      • Infra
        • AWS
        • Terraform
        • [인프라 구축기] Terraform 활용 AWS ..
      • CS
        • 자료구조
        • 알고리즘
        • 네트워크
        • 데이터베이스
        • 이것이 취업을 위한 코딩 테스트다 with 파이썬
      • Python
      • Web
      • Git
      • 기타
        • 취업 & 진로
        • 회고록
        • 기타
      • 프로젝트 단위 공부
        • [부스트코스] DataLit : 데이터 다루기
        • [개인 프로젝트] 공모전 크롤링
        • [개인 프로젝트] FC Online 공식 경기 분..
        • 프로젝트 개선 방안
      • [프로그래머스] 데이터 엔지니어링 데브코스 3기
        • TIL(Today I Learn)
        • 숙제
        • 기타
      • 알고리즘 연습
        • 프로그래머스
        • 백준
  • 링크

    • 깃허브
    • 링크드인
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기억에 남는 블로그 닉네임
Ch1-1. 파이썬 정규표현식 다시보기
상단으로

티스토리툴바