문자클래스 [ ] : [ ] 사이의 문자들과 매치
[avb]->a,v,b 중 한 개의 문자와 매치
[A-C] :From A To C = [ABC] 숫자도 동일. [0-5]=[012345] [a-zA-Z] : 알파벳 모두
밑에 애들은 소문자면 해당 내용과 매치, 대문자면 해당 내용이 아닌 것과 매치
\d : 숫자와 매치 = [0-9]
\D : 숫자가 아닌 것과 매치 = [^0-9]
\s = [ \t\n\t\f\v] 맨 앞의 빈 칸은 공백문자
\S = [^ \t\n\t\f\v]
\w = 문자+숫자와 매치 = [a-zA-Z0-9_] _도 보통 허용하기 때문에 뒤에_가 붙은 거
\W = 문자+숫자가 아닌 문자와 매치 = [^a-zA-Z0-9_]
a.b는 a+모든문자+b 여기서 .은 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미. 즉 ab사이에 숫자든 문자든 뭐라도 하나 있어야 매치!
re.DOTALL 옵션 주면 \n문자와도 매치됨 p = re.compile('a.b', re.DOTALL)
주의) a[.]b은 a+.+b이라서 a.b랑은 매치되고, a0b랑은 매치되지 않는다. [ ]안에 있으면 그 문자 그대로를 의미하니, 혼동하지 말 것!
*은 *바로 앞에 있는 문자가 0~2억(무한대) 번 반복 가능하다는 것이고, +는 1번이상 반복
ca*t =>a가 0~무한대번 반복 가능. ca+t=>a가 1번 이상 반복(0번은 매치 안됨)
{숫자n}=반드시 n번 반복 ca{2}t => a가 2번 반복일 때만 매치
{m,n}=m~n번 반복 ca{2,5}t => a가 2~5번 반복일 때만 매치(n을 생략함으로서 m번 이상 반복의 의미를 표현할 수도 있다. EX) {1,} = + {0,} = * )
? = {0,1} ab?c = a와 c 사이에 b가 없거나 1번 사용될 때 매치
'언어 > 파이썬' 카테고리의 다른 글
파이썬 split, sep 쓰는 법 (0) | 2021.04.21 |
---|---|
파이썬 한 줄 출력, 엔터, 여러 줄 출력. 입력 받기 input split (0) | 2021.04.21 |
파이썬 정규표현식 (2) : search match findall finditer (0) | 2020.12.17 |
python(2) - 파이썬의 출력(print() 함수) (0) | 2018.04.17 |
Python(1) - 파이썬 특징, 입력, 주석, 초기화 (0) | 2018.04.17 |
댓글