정규표현식


정규표현식

정의

  • 문자열을 다룰 때 문자열의 일정한 패턴을 표현하는 일종의 형식 언어

    정규표현식 활용했을 때 장점

  • 특정 규칙이 있는 텍스트 데이터를 빠르게 정제 가능

파이썬에서는 re모듈을 지원

정규표현식 문법

특수문자 설명
. 한 개의 임의의 문자를 나타냄
? 앞의 문자가 존재할 수도 있고 없을 수도 있음(앞의 문자가 0 또는 1개)
* 앞의 문자가 무한히 존재할 수도 있고 없을 수도 있음(문자가 0개 이상)
+ 앞의 문자가 최소 1개 존재(문자가 1개 이상)
^ 뒤의 문자열로 문자열이 시작됨
$ 앞의 문자열로 문자열이 끝남
{숫자} 숫자 만큼 반복
{숫자1,숫자2} 숫자1 이상, 숫자2이하 만큼 반복
{숫자, } 숫자 이상 만큼 반복
[ ] 대괄호 안의 문자들 중 한 개의 문자와 매치. 범위 지정 가능
[^문자] 해당 문자를 제외한 문자를 매치
AlB A 또는 B
역슬래쉬 3개 역슬래쉬 문자 자체를 의미
역슬래쉬 2개+d 모든 숫자를 의미
역슬래쉬 2개 + D 숫자를 제외한 모든 문자 == [^0-9]
역슬래시 2개 + s 공백
역슬래시 2개 + S 공백을 제외한 모든 문자
역슬래시 2개 + w 문자 또는 숫자
역슬래시 2개 + W 문자 또는 숫자가 아닌 문자 == [^a-zA-Z0-9]

정규표현식 모듈 함수

함수 설명
re.compile() 정규표현식을 컴파일하는 함수. 파이썬에 정규표현식을 전달
re.search() 문자열 전체에 대해서 정규표현식과 매치되는지를 검색
re.match() 문자열의 처음이 정규표현식과 매치되는지 검색
re.split() 정규표현식을 기준으로 문자열 분리. 리스트로 리턴
re.findall() 문자열에서 정규표현식과 매치되는 모든 경우의 문자열을 찾아서 리스트로 리턴. 없으면 빈 리스트 생성
re.finditer() 문자열에서 정규 표현식과 매치되는 모든 경우의 문자열에 대한 이터레이터 객체를 반환
re.sub() 문자열에서 정규 표현식과 일치하는 부분에 대해서 다른 문자열로 대체