ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 re 모듈
    공부/Python 2021. 1. 2. 17:20

    regax : re 모듈

     

     

    - 메타문자 : 파이썬에서 특수한 기능을 하는 문자

    . ^ $ * + ? \ | ( ) { } [ ]

     

     

    - re 모듈의 함수

    match(pattern, string, flag)
    문자열의 처음부터 시작해, 작성한 패턴이 일치하는지 확인한다.
    search(pattern, string, flag)
    위의 match와 비슷, 하지만 처음부터 일치하지 않아도 된다.
    findall(pattern, string, flag)
    패턴에 해당하는 케이스를 모두 찾아 리스트로 반환한다.
    finditer(pattern, string, flag)
    위의 findall과 비슷, 하지만 리스트가 아닌 match object로 반환한다.
    fullmatch(pattern, string, flag)
    문자열이 정확히 일치할 때 반환한다.
    split(pattern, string, split_num, flag)
    패턴이 맞으면 이를 기준으로 문자열을 리스트로 쪼갠다.

    #split_num, 최대 쪼개는 개수를 지정하면 지정한 수 만큼만 쪼갠다.
    import re
    
    print(re.split('a', 'abcacdefaba', 3))
    >> ['', 'bc', 'def', 'ba']
    sub(pattern, replaced_string, replaced_num, flag)
    패턴이 맞으면, 해당 패턴을 replaced_string으로 교체한다.
    위와 마찬가지로 최대 교체 횟수를 지정할 수 있다.
    escape(pattern)
    패턴을 입력받으면, 특수문자들에 대해서 백슬래쉬 처리를 한다.
    input >> a\b
    output >> a\\b

     

     

    - group, start, end, span

    match Object에 대해(search함수 등을 사용해 문자열을 찾는 경우) 특정 문자열을 반환한다.

    함수 기능
    group() 일치된 문자열을 반환
    start() 일치된 문자열의 시작 위치 반환
    end() 일치된 문자열의 끝 위치 반환 
    span() 일치된 문자열의 (시작 위치, 끝 위치) 반환

     

     

    - []  대괄호 : 괄호 사이에 있는 문자중 하나와 일치

    [abc] 이면, 문자열이 'a' 또는 'b' 또는 'c' 이면 매칭된다.

     

    - 하이픈 : 범위를 나타낸다.

    소문자 : a-z

    숫자 : 0-9

    한글 : 가-힣

    *A-z 는 영문 대소문자와 몇개의 특수문자를 포함하게 되므로, 영문의 경우 [A-Za-z]가 권장된다.

     

    - [^0-9] : 여는 대괄호 뒤의 ^ 캐릿문자는 not을 의미한다. 이 경우는 숫자를 제외한 문자이다.

     

    - . 마침표 : 모든 문자와 일치한다.

    a..['12'] 이면, 'app1', 'abc2' 등의 문자열과 매칭된다.

    * 대괄호안에서 마침표는 메타문자x, 일반문자로 취급된다.

     

     

    • \d : 숫자 문자
    • \D : 비숫자 문자

    • \s : 공백 문자
    • \S : 비공백 문자

    • \w : word, 알파벳+숫자+_ 중의 문자
    • \W : word의 반대

    • \b : 단어경계
    • \b : 비단어경계

     

     

     

    '공부 > Python' 카테고리의 다른 글

    heapq 모듈  (0) 2021.02.27
    파이썬 sorted, 다중 조건 정렬  (0) 2021.01.24
    XPath  (0) 2020.05.21
    네이버 자동 로그인(selenium)  (0) 2020.05.21
    python 가변인자  (0) 2020.05.19
Designed by Tistory.