본문 바로가기

Python/Basic

[Python]정규표현식 라이브러리 사용법과 예제

2022.05.16 - [Python] - [Python]정규표현식 사용법

정규표현식 라이브러리 임포트

import re

함수

  • match : 문자열 처음부터 정규식과 매칭되는 패턴을 찾아서 리턴 (1개)
  • search : 문자열 전체를 검색해서 정규식과 매칭되는 패턴을 찾아서 리턴 (1개)
  • findall : findall 함수: 정규표현식과 매칭되는 모든 문자열을 리스트 객체로 리턴함
  • split : 찾은 정규표현식 패턴 문자열을 기준으로 문자열을 분리
  • sub : 찾은 정규표현식 패턴 문자열을 다른 문자열로 변경

사용법

정규 표현식 패턴 만들기

pattern = re.compile('D.A')

패턴에 매칭되는지 확인하기

pattern.search("D*A")

Example - match, search, findall

import re

"""
match, search 함수 사용법
"""

pattern = re.compile('[a-z]+')

matched = pattern.match('Dave Dave Kate JM')
searched = pattern.search("Dave Kate JM")
findall = pattern.findall("Dave Kate JM")

print(matched)
print(searched)
print(findall)

>>>
None
<re.Match object; span=(1, 4), match='ave'>
['ave', 'ate']

Example - findall

import re

"""
findall 함수를 사용해서 정규표현식에 해당되는 문자열이 있는지 없는지 확인하기
"""

pattern = re.compile('[a-z]+')
findalled = pattern.findall('WORKSPACE')
if len(findalled) > 0:
    print ("정규표현식에 맞는 문자열이 존재함")
else:
    print ("정규표현식에 맞는 문자열이 존재하지 않음")

>>>
정규표현식에 맞는 문자열이 존재하지 않음

Example - split

import re

## split 함수: 찾은 정규표현식 패턴 문자열을 기준으로 문자열을 분리
pattern11 = re.compile("-")

res18 = pattern11.split("900206-1234567")
print(res18)

>>>
['900206', '1234567']

Example - sub

import re

## sub 함수: 찾은 정규표현식 패턴 문자열을 다른 문자열로 변경
data = "900206-1234567"
subed = re.sub('-[0-9]{7}','-******',data)
print(subed)

>>>
900206-******
https://www.inflearn.com/course/python-crawling-basic#

'Python > Basic' 카테고리의 다른 글