<Python> 정규 표현식

반응형

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

정규 표현식은 문자열에서 특정 패턴을 찾고, 검색 및 치환 작업을 쉽게 수행할 수 있는 텍스트 처리 도구입니다.

파이썬에서 정규 표현식을 사용하기 위해 제공되는 re 모듈을 사용합니다.

정규 표현식 패턴 작성하기

  • .: 임의의 문자 하나와 일치합니다.
  • *: 앞선 문자가 0회 이상 반복되는 패턴입니다.
  • +: 앞선 문자가 1회 이상 반복되는 패턴입니다.
  • ?: 앞선 문자가 0 또는 1회 반복되는 패턴입니다.
  • {n}: 앞선 문자가 n회 반복되는 패턴입니다.
  • {n, m}: 앞선 문자가 n회 이상, m회 이하 반복되는 패턴입니다.
  • []: 대괄호 안의 문자 중 하나와 일치합니다.
  • [^]: 대괄호 안의 문자를 제외한 문자 중 하나와 일치합니다.
  • |: 파이프 기호는 OR 조건을 나타납니다.
  • (): 소괄호는 그룹을 만들어서 특정 역할을 나타낼 수 있습니다.

re 모듈 사용법

정규 표현식 작업을 수행하기 위해서 파이썬은 re 모듈을 제공합니다.

re 모듈에서 주로 사용되는 메서드는 다음과 같습니다.

  • re.match(): 문자열 시작 부분에서 패턴이 일치하는지 확인합니다.
  • re.search(): 문자열 전체에 걸쳐 패턴이 있는지 확인합니다.
  • re.findall(): 주어진 문자열에서 패턴과 일치하는 모든 부분을 찾습니다.
  • re.finditer(): 패턴과 일치하는 모든 부분에 대한 반복 가능한 iterator를 반환합니다.
  • re.sub(): 패턴과 일치하는 부분을 대체 문자열로 바꿉니다.

re.match() 예제

import re

pattern = "^hello"

text = "hello, world!"
result = re.match(pattern, text)

if result:
    print("Match found")
else:
    print("Not found")

re.search() 예제

import re

pattern = "hello"

text = "Hi! hello, world!"
result = re.search(pattern, text)

if result:
    print("Pattern found")
else:
    print("Not found")

re.findall() 예제

import re

pattern = "\d+"

text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
result = re.findall(pattern, text)

print(result)  # 출력: ['12', '11', '10', '9', '8']

re.finditer() 예제

import re

pattern = "\d+"

text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
result = re.finditer(pattern, text)

for match in result:
    print(match.group())  # 출력: 12, 11, 10, 9, 8

re.sub() 예제

import re

pattern = "\d+"

text = "12 drummers, 11 pipers, 10 lords, 9 ladies, 8 maids"
replacement = "[number]"

result = re.sub(pattern, replacement, text)
print(result)  # 출력: [number] drummers, [number] pipers, [number] lords, [number] ladies, [number] maids

이 글에서는 파이썬에서 정규 표현식을 사용하는 방법에 대해 살펴보았습니다.

파이썬의 re 모듈을 사용하여 문자열에서 원하는 패턴을 쉽게 찾고, 검색하고, 바꿀 수 있습니다.

 

감사합니다.

Designed by JB FACTORY