정규표현식😭

Junyoung Lee·2021년 5월 18일
0

Python

목록 보기
2/6


오늘은 정규표현식 공부한 부분 복습을 위해 포스팅을 해보려고 합니다!


정규표현식

  • regex 패턴
  • 일치시키려는 가능한 문자열 집합에 대한 규칙을 지정함
  • Python에서는 re(regular expression) 모듈을 통해 사용 가능

re 모듈과 메서드

import re로 모듈을 불러온다!

match('정규 표현식', '검색할 문자열')

  • 문자열 시작 부분에서 일치하는지 확인하는 메서드
  • 시작 부분부터 일치하지 않으면 확인이 안됨
  • 문자열 일치를 확인하기 위해 문자열을 검색하는 메서드

findall()

  • 일치하는 모든 부분을 찾아서 리스트로 반환

group()

  • 파라미터에 숫자를 넣어서 그룹으로 묶은 순서대로 값을 가져올 수 있음

이 외에도 여러 메서드가 있지만 간단하게 필요한 부분만 정리했습니다😺


메타 문자

  • [, ][, ]로 둘러쌓인 문자 클래스를 지정하는데 사용

    '[가-힣-_.?]+' - 한글이나 -, _, ., ?가 1개 이상 있는지 확인

  • ^[, ]안의 첫 번째 문자로 들어가게 되면 안에 있는 부분을 제외한 모든 부분과 일치
    아닐 경우는 가장 처음 부분에 있는지 확인

    '[^0-9]+' - 0~9를 제외한 문자가 1개 이상 있는지 확인
    '^http' - 문자열의 가장 처음에 'http'가 있는지 확인

  • $는 문자열의 끝 부분에 일치하는지 확인

    '}$' - }가 마지막에 위치하는지 확인

  • *는 문자열이 0번 이상 일치하는지 확인 (있어도 되고 없어도 되나 다른게 있으면 안됨)

    '[0-9]*' - 숫자가 0번 이상 일치하는지 확인

  • +는 문자열이 1번 이상 일치하는지 확인

    '[a-zA-Z]+' - 영어 대소문자가 1번 이상 일치하는지 확인

  • ?는 앞의 문자열이 0번이나 1번 일치하는지 확인

    'https?' - http이거나 https인지 확인

  • {m, n} 는 최소 m번 반복, 최대 n 번 반복인지 확인 (m이나 n 은 생략가능)

    [a-z]{3} - 영어 소문자가 3번 반복되는지 확인

  • \는 다른 메타 문자들을 패턴으로 인식시키거나 특수 시퀀스 사용 가능

    특수 시퀀스기능
    \d모든 숫자와 일치
    \D모든 숫자가 아닌 문자와 일치
    \s모든 공백 문자와 일치
    [ \t\n\r\f\v]
    \S공백 문자가 아닌 모든 문자와 일치
    \w모든 영어, 숫자 그리고 _와 일치
    \W영어, 숫자 그리고 _를 제외한 모든 문자 일치
  • |or 연산자

    W|BW이거나 B이면 일치

  • (, )는 그룹. 내부에 포함된 표현식을 묶어주는 역할
    (?P<name>정규표현식)으로 그룹에 이름을 지정할 수 있어서 지정한 이름 호출도 가능

    (python)+ - python이 1번 이상 반복되는지 확인

  • .은 아무 문자가 그 자리에 있는지 확인

    ab.d - .자리에 문자가 들어가는지 확인


너무나도 많은 변형들이 있어서 일단 기본부터 탄탄히 해 보기로 했습니다!












추가로 더 공부 필요한 부분들 : sub() , raw 문자열 등등 . . .

profile
🎹재즈를 사랑하는 백엔드 개발자 이준영입니다🎷

0개의 댓글