폐관수련
정규 표현식 본문
메타 문자
메타 문자 : 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자
. ^ $ * ? { } [ ] \ | ( )
문자 클래스 [ ]
- [ ] 사이의 문자들과 매치
- [ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미
ex) [a-zA-Z] : 알파벳 모두, [0-9] : 숫자
- ^ 메타 문자는 반대(not)를 의미
- 자주 사용하는 문자 클래스
\d : 숫자와 매치 (=[0-9])
\D : 숫자가 아닌 것과 매치 (=[^0-9])
\s : whitespace 문자와 매치 (=[ \t\n\r\f\v])
\S : whitespace 문자가 아닌 것과 매치 (=[^ \t\n\r\f\v])
\w : 문자, 숫자와 매치 (=[a-zA-Z0-9_])
\W : 문자, 숫자가 아닌 문자와 매치 (=[^a-zA-Z0-9_])
Dot (.)
- 줄바꿈 문자인 \n을 제외한 모든 문자와 매치
a.b : a + 모든 문자 + b -> aab, abb, abbbbb 가능
a[.]b : a + . 문자 + b -> a.b
반복 (*)
- * 바로 앞에 있는 문자가 0부터 무한대로 반복될 수 있다는 의미
반복 (+)
- + 바로 앞에 있는 문자가 1부터 무한대로 반복될 수 있다는 의미
반복 ({m, n], ?)
- {n} : 반드시 n번 반복
- {m, n} : m~n번 반복
- ? : 있어도 되고 없어도 됨
파이썬 정규 표현식 모듈 re
import re
p = re.compile('[a-z]+')
메서드 match
- 문자열의 처음부터 정규식과 매치되는지 조사
- match 객체 또는 None을 반환
m = p.match("python")
print(m)
메서드 search
- 존재 여부를 조사
- match 객체 또는 None을 반환
m = p.search("python")
print(m)
메서드 findall
- 리스트로 반환
메서드 finditer
- findall과 동일하지만 그 결과로 반복 가능한 객체를 반환
- 반복 가능한 객체가 포함하는 각각의 요소는 match 객체
'Programming > grammar' 카테고리의 다른 글
[C#] 인터페이스 (interface) (0) | 2021.12.29 |
---|---|
[C#] Func, Action (0) | 2021.11.04 |
리스트 컴프리헨션 (List Comprehension) (0) | 2021.08.11 |
[C#] ControlPaint.DrawReversibleFrame (0) | 2020.07.23 |
[C#] List / Array / ArrayList (0) | 2020.07.20 |
Comments