알고리즘 문제 풀때 자주 사용하는 것들만 정리
문자 클래스 (character class) [ ]
문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다.
즉 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다.
[ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위(From - To)를 의미한다.
✔ [a-zA-Z] : 알파벳 모두
✔ [0-9] : 숫자
문자 클래스 안에 ^ 메타 문자를 사용할 경우에는 반대(not)라는 의미를 갖는다. 예를 들어 [^0-9]라는 정규 표현식은 숫자가 아닌 문자만 매치된다.
자주 사용하는 문자 클래스
정규식을 이용한 문자열 검색
✔match() : 문자열의 처음부터 정규식과 매치되는지 조사한다.
✔ search() : 문자열 전체를 검색하여 정규식과 매치되는지 조사한다.
✔ findall() : 정규식과 매치되는 모든 문자열(substring)을 리스트로 돌려준다.
✔finditer() : 정규식과 매치되는 모든 문자열(substring)을 반복 가능한 객체로 돌려준다.
import re
str = "abcd1+efg"
str = re.findall("[a-zA-Z]+", str)
print(str)
알파벳인 부분만 매치
출력 : ['abcd', 'efg']
import re
str = "abcd1+efg"
str = re.split("[0-9]+", str)
print(str)
숫자를 기준으로 나누기
출력 : ['abcd', '+efg']
'Language > python' 카테고리의 다른 글
python 꿀팁🍯 (0) | 2020.05.07 |
---|---|
[python] bisect / 이진 탐색 내장함수 (0) | 2020.03.26 |
[python] 리스트 정리 (0) | 2020.01.29 |
[python] 기초 문법 정리 (0) | 2020.01.25 |