[python] 정규표현식 사용하기

anjiyoo·2024년 3월 20일

Python

목록 보기
41/41
post-thumbnail

1.정규표현식

  • 일정한 규칙을 가진 문자열을 표현하는 방법
  • 복잡한 문자열 속에서 특정한 규칙으로 된 문자열을 검색한 뒤 추출하거나 바꿀 때 사용

메타 문자설명
[ ]문자, 숫자 범위를 표현하며 + - 등의 기호를 포함할 수 있음
{개수}특정 개수의 문자, 숫자를 표현
{시작개수, 끝개수}특정 개수 범위의 문자, 숫자를 표현
+1개 이상의 문자를 표현
*0개 이상의 문자를 표현
?0개 또는 1개의 문자를 표현
.문자 1개만 표현
^[ ] 앞에 붙이면 특정 문자 범위로 시작하는지 판단, 안에 넣으면 특정 문자 범위를 제외
$여러 문자열 중 하나라도 포함되는지 판단
( )정규표현식을 그룹으로 묶음, 그룹에 이름을 지울 때는 ?P<이름> 형식

1-1.문자열 판단하기 re.match

# 문자열에 특정 문자열이 포함되어있는지 확인
re.match('패턴', '문자열')

1-2.문자열이 맨 앞에 오는지 맨 뒤에 오는지 판단하기 re.search

# 문자열이 맨 앞에 오는지
^문자열
# 문자열이 맨 뒤에 오는지
문자열$
re.search('패턴', '문자열')

1-3.지정된 문자열이 하나라도 포함되는지 판단하기

문자열||문자열
문자열||문자열||문자열||문자열

1-4.문자가 한 개만 있는지 판단

# 문자가 0개 또는 1개인지 판단
문자?
# 문자 1개인지 판단
문자.

특수 문자설명
\ 정규표현식에서 사용하는 문자를 그대로표현하려면 앞에 \를 붙임
\d[0-9]와 같음, 모든 숫자
\D[^0-9]와 같음, 숫자를 제외한 모든 문자
\w[a-zA-Z0-9_]와 같음, 영문 대소문자, 숫자, 밑줄 문자
\W[^a-zA-Z0-9_]와 같음, 영문 대소문자, 숫자, 밑줄 문자를 제외한 모든 문자
\s[ \t \n \r \f \v]와 같음, 공백(스페이스), \t, \n, \r, \v를 포함
\S[ \t \n \r \f \v]와 같음, 공백, \t, \n, \r, \v만 포함

함수 및 메소드설명
match('패턴', '문자열')문자열의 시작부터 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환
search('패턴', '문자열')문자열의 일부분이 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환}
group(그룹)그룹에 매칭된 문자열 반환
groups()각 그룹에 해당하는 문자열을 튜플로 반환
findall('패턴', '문자열')패턴에 매칭된 문자열을 리스트로 반환
sub('패턴', '바꿀문자열', '문자열', 바꿀횟수)패턴으로 특정 문자열을 찾은 뒤 다른 문자열로 바꿈
compile('패턴')정규표현식 패턴을 객체로 만듦
match('문자열')문자열의 사작부터 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환
search('문자열')문자열의 일부분이 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글