본문 바로가기
파이썬

정규식

by 차이기록 2021. 6. 2.

파이썬 라이브러리

https://docs.python.org/ko/3/library/re.html

 

re — 정규식 연산 — Python 3.9.5 문서

scanf() 시뮬레이션 파이썬에는 현재 scanf()에 해당하는 것이 없습니다. 정규식은 일반적으로 scanf() 포맷 문자열보다 강력하지만, 더 장황하기도 합니다. 아래 표는 scanf() 포맷 토큰과 정규식 간의

docs.python.org

 

 

  설명 사용법 매치 비매치
. 하나의 문자 ab.d abcd abccd
^ 문자열의 시작 ^ab abcdef bcdefg
$ 문자열의 끝 ab$ cdefab cdefbb

 

정규식 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import re
#정규 표현식(Regular Expressions), re모듈
 
ptrn = re.compile("ab.d")    # 정규 표현식을 컴파일
 
mtch = ptrn.match("abcd")              
# match() : 주어진 문자열의 처음부터 일치하는지 확인
#(매치될 때는 match 객체를 돌려주고, 매치되지 않을 때는 None을 돌려준다)

#match 객체의 메서드
print("mtch.group() : ", mtch.group())  # group() : 일치하는 문자열 반환    -> abcd
print("mtch.string : ", mtch.string)    # string  : 입력받은 문자열(함수가 아니고 변수)  -> abcd
print("mtch.start() : ", mtch.start())  # start() : 일치하는 문자열의 시작 index    -> 0
print("mtch.end() : ", mtch.end())      # end()   : 일치하는 문자열의 끝 index    -> 4
print("mtch.span() : ", mtch.span())    # span()  : 일치하는 문자열의 시작 / 끝 index -> (0,4)
 
mtch = ptrn.search("efghabcd abcde")    
# search(): 주어진 문자열 중에 일치하는게 있는지 확인
#(매치될 때는 match 객체를 돌려주고, #매치되지 않을 때는 None을 돌려준다)
#match 객체의 메서드
print("mtch.group() : ", mtch.group())  # group() : 일치하는 문자열 반환    -> abcd
print("mtch.string : ", mtch.string)    # string  : 입력받은 문자열(함수가 아니고 변수) -> efghabcd abcde
print("mtch.start() : ", mtch.start())  # start() : 일치하는 문자열의 시작 index    -> 4
print("mtch.end() : ", mtch.end())      # end()   : 일치하는 문자열의 끝 index    -> 8
print("mtch.span() : ", mtch.span())    # span()  : 일치하는 문자열의 시작 / 끝 이후 index -> (4,8)
 
list = ptrn.findall("abcde")            # findall() : 일치하는 모든 것을 리스트형태로 반환
print(list)    # ['abcd']
 
list = ptrn.findall("efghabcd abcde")
print(list)    # ['abcd', 'abcd']
cs

 

 

group 함수 : 매치하면 매칭하는 내용 출력, 매치안되면 에러 발생(NoneType 에러)

 

'파이썬' 카테고리의 다른 글

비주얼스튜디오 단축키 설정  (1) 2021.06.09
Requests  (0) 2021.05.27
파이썬 내장함수, 외장함수 라이브러리  (0) 2021.05.24
패키지(pip install)  (0) 2021.05.19
Visual Studio 단축키  (0) 2021.05.04

댓글