hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전] N
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[Python]

[Python] 파이썬 정규표현식(regular expression)

2023. 7. 4. 22:40
728x90

1. import re

2. findall()

3. sub()

4. match()

5. search()

 

 

파이썬에서는 정규표현식을 사용하기 위해 표준 라이브러리인 re 모듈을 사용합니다.

 

 

1. import re

 

 

파이썬에서 정규표현식을 효과적으로 사용하기 위해 필요한 라이브러리를 임포트 해줘야 합니다.

 

 

import re

re는 regular expression의 약자입니다.

 

 

2. findall

 

 

findall 메서드는 문자열 내에서 특정 패턴과 일치하는 모든 문자열을 리스트로 반환(return)해줍니다.

re.findall(pattern, text)

 

 

예시1)

import re
str = 'samsun&apple'
result = re.findall('apple', str)
print(result)
>>> ['apple']

 

 

예시2)

import re
str = 'reject_report'
result = re.findall('re[a-z]{3}', str)
print(result)
>>>
['rejec', 'repor']

're[a-z]{3}'는 알파벳 re로 시작하면서 a~z까지의 소문자 중 3개가 뒤따라 오는 단어를 str문자열에서 찾아 출력해주는 코드입니다.

 

 

3. sub()

 

 

sub() 메서드의 기본구조는 다음과 같습니다.

re.sub(pattern, new, string)

 

의미는 pattern을 new로 바꾼다. string 안에서

 

 

예시1)

import re
str = 'I love coca & pepsi'
result = re.sub('coca|pepsi', 'cola', str)
print(result)
>>>
I love cola & cola

 

 

개행문자를 제거해주는 예시)

str = '무궁화\t꽃이\t피었\n습니다.'
result = re.sub('\t|\n', ' ', str)
print(result)
>>>
무궁화 꽃이 피었 습니다.

개행문자인 '\t'과 '\n'를 한칸 띄우는 공백으로 변경해 주었습니다.

 

 

txt = '''010-1234-5678 robert
011-4567-8912 kang
'''
result = re.sub('[0-9]{3}-[0-9]{4}-[0-9]{4}', '01*-****-****', txt)
print(result)
>>>
01*-****-**** robert
01*-****-**** kang

고객의 전화번호를 가려주는 코드입니다.

 

 

4. match()

 

 

기본적인 형식은 다음과 같습니다.

re.match('패턴', '문자열')

 

 

print(re.match('Hello', 'Hello, world!'))
>>>
<re.Match object; span=(0, 5), match='Hello'>

 

 

5. search()

 

 

기본적인 형식은 다음과 같습니다.

re.search(pattern, string)

문자열을 스캔하여 정규식 패턴이 일치하는 첫 번째 위치를 찾습니다. 없다면 None을 리턴합니다.

 

 

728x90
저작자표시 동일조건 (새창열림)

'[Python]' 카테고리의 다른 글

[Python] 파이썬 미로 생성 알고리즘  (0) 2023.11.04
[Python] 딕셔너리 최댓값, 최솟값 구하기 / 최댓값을 가지는 key 구하기  (0) 2023.10.05
[Python] 파이썬 예외처리(try~except)  (0) 2022.09.17
[Python] 파이썬 깊은복사(DeepCopy)  (0) 2022.09.15
[Python] 파이썬 : 람다(lambda) 함수  (0) 2022.08.19
'[Python]' 카테고리의 다른 글
  • [Python] 파이썬 미로 생성 알고리즘
  • [Python] 딕셔너리 최댓값, 최솟값 구하기 / 최댓값을 가지는 key 구하기
  • [Python] 파이썬 예외처리(try~except)
  • [Python] 파이썬 깊은복사(DeepCopy)
hgk0404
hgk0404
공부기록

티스토리툴바