공식 문서

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

 

re — 정규식 연산 — Python 3.10.4 문서

re — 정규식 연산 소스 코드: Lib/re.py 이 모듈은 Perl에 있는 것과 유사한 정규식 일치 연산을 제공합니다. 패턴과 검색 할 문자열은 모두 유니코드 문자열(str)과 8비트 문자열(bytes)이 될 수 있습니

docs.python.org

 

  • 정규식(RE)은 일치하는 문자열 집합을 지정합니다. 이 모듈의 함수는 특정 문자열이 주어진 정규식과 일치하는지 확인할 수 있도록 합니다.
  • 다음 메타문자 $ ( ) * + . ? [ ] \ ^ { } | 를 사용하려면 앞에 역슬래쉬(\)를 붙여 사용합니다.

 

기본 패턴

  • [abc] : a 또는 b 또는 c
  • [a-f] : a 와 f 사이의 속하는 문자 중 하나
  • [0-9] : 모든 숫자
  • [a-z] : 모든 소문자
  • [A-Z] : 모든 대문자
  • [^0-9] : 숫자가 아닌 모든 것
  • . : 모든 문자
  • \d : 모든 숫자 ([0-9])
  • \D : 숫자가 아닌 모든 것 ([^0-9])
  • \s : 공백 문자
  • \S : 공백이 아닌 모든 것
  • \w : 모든 대소문자, 숫자 ([0-9a-zA-Z])
  • \W : 대소문자, 숫자가 아닌 모든 것 ([^0-9a-zA-Z])
  • + : 1번 이상 패턴 반복
  • * : 0번 이상 패턴 반복
  • ? : 0번 또는 1번 패턴 발생
  • ^ : 문자열의 시작(맨 앞)부터 일치
  • $ : 문자열의 끝(맨 뒤)부터 일치
  • ( ) : 그룹
  • { 3 } : 3번 반복
  • { 3, 4 } : 3번 ~ 4번 반복
  • { 3, 4 }? : 3번에서 4번 반복하거나 3번만 반복하면 만족

 

모듈

  • re.complie() : 정규표현 패턴 문자열을 컴파일하여 정규표현 패턴 오브젝트를 작성
  • re.search() : 문자열의 패턴이 선두에 상관없이 일치하면 반환
  • re.match() : 문자열의 선두가 패턴과 일치하면 반환
  • re.split() : 문자열의 패턴에 맞게 리스트로 분할
  • re.findall() : 문자열의 패턴에 맞는 경우 모두 반환
  • re.sub() : 문자열의 패턴을 교환
욱근욱