파이썬을 이용한 기본개념 공부 내용을 정리합니다.
특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어 정규식이라고도 부르며
전화번호, 이메일 등 문자열을 필터링할때 주로 쓰인다
정규식에서 일정한 의미를 가지고 쓰는 특수문자를 말한다. 메타 문자가 포함된 패턴을 찾으려면 문자 앞에 \를 넣어줘야 한다.
[] : 문자 클래스. 문자 클래스 안에 들어가 있는 문자는 그 바깥에서 하나의 문자로 취급된다.
^ : 문자 클래스 내에서 ^는 not_
- : 범위
[a-z]는 a에서 z까지의 문자
^ : 문자열의 시작
$ : 문자열의 종료
. : 임의의 한 문자
| : or
? : 앞문자가 없거나 하나있음
+ : 앞문자가 1개이상
“ct”는 “a”가 1번 반복되지 않아 매치 안됨* : 앞문자가 0개이상
“ct”는 “a”가 0번 반복되어 매치{n,m} : 앞 문자가 n개 이상 m개 이하. {0,1}은 ?와 같다.
"ab"는 a가 한번 반복되서 매치 안됨"aaaaab"는 매치{n,} : 앞 문자가 n개 이상. {0,}은 *와 같고 {1,} 이면 +와 같다.
{n} : 앞 문자가 정확하게 n개. {n,n}과 같다.
() : 서브패턴을 괄호로 묶을 수 있다.
\s : 공백문자 [ \t\n\r\f\v]와 동일한 표현식
\b : 문자와 공백사이
\d : 숫자
\t : 탭
\w : 문자+숫자와 매치, [a-zA-Z0-9_]와 동일한 표현식
대문자로 적으면 반대를 의미한다. ex) \D는 숫자가 아닌것을 의미한다. [^0-9]와 동일한 표현식
기본적으로 python에선 re module을 통해 정규표현식 기능을 제공한다.
import re
p = re.compile("[a-z]+")
#re.sub('패턴', '바꿀문자열', '문자열', 바꿀횟수)
내용추가 예정