반복 메타 문자
반복 메타 문자 |
의미 |
* |
0회 이상 반복 |
+ |
1회 이상 반복 |
? |
0회 혹은 1회 |
{m} |
m회 반복 |
{m,n} |
m회부터 n회까지 반복 |
매칭 메타 문자
메타 문자 | 의미 |
. | 줄바꿈 문자를 제외한 모든 문자와 매치됨 |
^ | 문자열의 시작과 매치됨. []메타 기호 안에서는 반대의 문자열을 취함 |
$ | 문자열의 마지막과 매치됨 |
[] | 문자 집합 중 한 문자를 의미함 |
| | 또는(or)를 의미함 |
() | 정규식을 그룹으로 묶음 |
이스케이프 기호
분야 | 설명 |
\\ | 역슬래쉬 문자 자체 |
\d | 모든 숫자와 매치됨 [0-9] |
\D | 숫자가 아닌 문자와 매치됨[^0-9] |
\s | 화이트 스페이스 문자와 매치됨[ \t\n\r\f\v] |
\S | 화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v] |
\w | 숫자 또는 문자와 매치됨[a-zA-Z0-9_] |
\W | 숫자 또는 문자가 아닌 것과 매치됨[^a-zA-Z0-9_] |
\b | 단어의 경계를 나타냄. 단어는 영문자 혹은 숫자의 연속 문자열. |
\B | 단어의 경계가 아님을 나타냄. |
최소 매칭을 위한 정규식
기회 | 의미 |
*? | *와 같으나 문자열을 취소로 매치함. |
+? | +와 같으나 문자열을 취소로 매치함. |
?? | ?와 같으나 문자열을 최소로 매치함. |
{m,n}? | {m.n}과 같으나 문자열을 최소로 매치함 |
re모듈의 주요 메소드
메소드 | 설명 |
compile(patten[, flags]) | pattern을 컴파일하여 정규식 객체를 리턴한다. |
search(pattern, string[,flags]) | string을 검사하여 pattern에 맞는 문자열 부분이 있는가를 찾는다. |
match(pattern, string[,flags]) | string의 시작부터 pattern에 맞는지 검사한다. |
split(pattern, string[, maxsplit=0]) | string을 pattern을 기준으로 분리한다. |
findall(pattern, string) | string에서 pattern을 만족하는 모든 문자열을 추출한다. |
sub(pattern, repl, string[, count-0]) | string에서 pattern을 repl로 대치한다. |
subn(pattern, repl, string[,count=0]) | sub와 동일하나 대치 횟수도 함께 전달한다. |
escape(string) | 영문자 숫자가 아닌 문자들을 백슬래쉬 처리해서 리턴한다. 임의의 문자열을 정규식패턴으로 사용할 경우 유용하다. |
정규 표현식에서 사용 가능한 플래그
플래그 | 내용 |
I, IGNORECATE | 대, 소문자를 구별하지 않는다. |
L, LOCATE | \w, \W, \b, \B를 현재의 로케일에 영향을 받게한다. |
M, MULTILINE | ^가 문자열의 맨 처음, 각 라인의 맨 처음과 매치된다. $는 문자열의 맨 끝, 각 라인의 맨 끝과 매치된다. |
S, DOTALL | .을 줄바꾸기 문자도 포함하여 매치하게 한다. |
U, UNICODE | \w, \W, \b, \B가 유니코드 문자 특성에 의존하게 한다. |
X, VERBOSE | 정규식 안의 공백은 무시된다. |
-출처 : 열혈강의 Python 20장
'Python' 카테고리의 다른 글
[Python] Private PYPI (0) | 2016.11.09 |
---|---|
[Python3] two list for loop (0) | 2016.11.08 |
[Python] call by assignment (call by object, call by object reference) (0) | 2016.10.26 |
[Python] RabbitMQ Publish Subscribe (0) | 2016.10.26 |
[Python] SQL Injection 과 보호 방법 (0) | 2016.10.13 |
댓글