티스토리 뷰

반응형

 

정규식(Regular Expression)은 특정규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다. 유효성 검사, 문자열 파싱 및 대체, 데이터 변환 그리고 웹 스크래핑까지 다양한 응용분야가 있다.

 

패턴 설명
^ 라인의 처음을 매칭
$ 라인의 끝을 매칭
. 임의의 문자를 매칭 (와일드카드)
\s 공백 문자를 매칭
\S 공백이 아닌 문자를 매칭
* 바로 앞선 문자에 적용되고, 0 혹은 그 이상의 앞선 문자와 매칭을 표기함.
*? 바로 앞선 문자에 적용되고, 0 혹은 그 이상의 앞선 문자와 매칭을 탐욕적이지 않은 방법으로 표기함.
+ 바로 앞선 문자에 적용되고, 1 혹은 그 이상의 앞선 문자와 매칭을 표기함.
+? 바로 앞선 문자에 적용되고, 1 혹은 그 이상의 앞선 문자와 매칭을 탐욕적이지 않은 방법으로 표기함.
[aeiou] 명세된 집합 문자에 존재하는 단일문자와 매칭, 'a','e','i','o','u' 문자만 매칭되는 예제
[a-z0-9] - 문자로 범위를 명세할 수 있음. 소문자 이거나 숫자인 단일 문자만 매칭되는 예제
() 괄호가 정규표현식에 추가될 때 매칭을 무시함. 하지만 findall() 을 사용할 때 전체 문자열보다 매칭된 문자열의 상세한 부속 문자열을 추출할 수 있게 함.

 

 

텍스트에서 문자 패턴 찾기 ("From:" 이라는 문자 패턴을 가진 문장을 출력)

import re

hand = open('mbox-short.txt')
for line in hand :
    line = line.rstrip()
    
    # find() 메소드 사용
    if line.find('From:') >= 0 :
        print(line)

 

import re

hand = open('mbox-short.txt')
for line in hand :
    line = line.rstrip()

    # 정규표현식 사용
    if re.search('From:', line) :
        print(line)

 

 

 

텍스트에서 시작패턴 찾기 ("From:" 으로 시작하는 문장을 출력)

import re

hand = open('mbox-short.txt')
for line in hand :
    line = line.rstrip()

    # startswith() 메소드 사용
    if line.startswith('From:') :
        print(line)

 

import re

hand = open('mbox-short.txt')
for line in hand :
    line = line.rstrip()

    # 정규표현식 사용
    if re.search('^From:', line) :
        print(line)

 

 

mbox-short.txt
0.09MB

 

END

반응형
댓글
공지사항