정규 표현식

2022. 9. 26. 23:56·Python 활용하기
728x90
반응형

1. 정규 표현식(regex)

특정한 규칙의 문자열 집합을 표현하는 데 사용하는 형식 언어

2. 정규 표현식 모듈

import re
string = "aaaa,b,c,e,d"
a = re.search('a+', string)
print(a.span())

3. 정규 표현식 문법

표현식 의미 표현식 의미
.  1개의 문자 [a,b] a,b 중 하나
a? 0개 또는 1개의 문자 (a가 하나 있거나 없거나) [^ab] a,b 제외
a* 0개 이상의 문자 (a가 0개 이상) [a-z] a~z사이의 문자
a+ 1개 이상의 문자 (a가 1개 이상) \ 다음 기호를 문자로 사용
^a 뒤의 문자로 시작하는 문자열 (a, ab, apple...) \b 문자와 공백 사이
$a 앞의 문자로 끝나는 문자열 (bba, aaa, india...) \B 문자와 공백 사이가 아닌 문자
a|b a 또는 b가 존재 \d 숫자
(a) ()안의 문자를 하나의 그룹으로 처리 \D 숫자가 아닌 문자
a{n} a가 n번 반복 \s 공백
a{n,} a가 n번 이상 반복 \S 공백이 아닌 문자
a{n,m} a가 n번 이상 m번 이하 반복 \t 탭
    \w 문자, 숫자, _ 중 하나
    \W 문자, 숫자, _ 가 아닌 문자

4. 문자열 검색

  • match() : 문자열의 처음이 정규식과 일치하는지 확인한다.
  • search() : 문자열 전체를 검색하여 정규식과 일하는지 확인한다.
  • findall() : 정규식과 일치하는 모든 문자열을 list로 반환한다.
  • finditer() : 정규식과 일치하는 모든 문자열을 iterable한 객체로 반환한다.
  • fullmatch() : 문자열 전체가 해당 정규식과 일치하는지 확인하고, 아니라면 None을 반환한다.

5. 객체의 method

  • group() : 일치하는 문자열을 반환한다.
  • start() : 일치하는 문자열의 시작 위치를 반환한다.
  • end() : 일치하는 문자열의 끝 위치를 반환한다.
  • span() : 일치하는 문자열의 (시작위치, 끝 위치) 튜플을 반환한다.

6. 정규표현식 연습 사이트

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

'Python 활용하기' 카테고리의 다른 글

[Algorithm] LIS(Longest Increase Sequence)  (0) 2023.01.12
시간복잡도 생각하기 (지속 업데이트)  (0) 2022.11.27
소수 (Prime Number)  (0) 2022.09.27
진법 변환  (0) 2022.09.25
순열과 조합  (0) 2022.09.07
'Python 활용하기' 카테고리의 다른 글
  • 시간복잡도 생각하기 (지속 업데이트)
  • 소수 (Prime Number)
  • 진법 변환
  • 순열과 조합
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (188) N
      • ML_DL (39) N
        • MUJAKJUNG (무작정 시리즈) (18) N
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
정규 표현식
상단으로

티스토리툴바