정규식은 복잡한 문자열 패턴을 조사하고 대치 규칙을 정의하는 문자열이다.
re 모듈로 제공된다.
반복 메타 문자
반복 메타 문자 |
의미 |
* |
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 |
정규식 안의 공백은 무시된다. |
'[+] Information > [-] Reference' 카테고리의 다른 글
[Python Reference] ftplib (0) | 2011.12.15 |
---|---|
[Python Reference] maketrans () 메서드 (0) | 2011.10.23 |
[Win32 Reference] CreateWindowA() API (0) | 2011.10.08 |
[Win32 Reference] MessageBoxA() API (0) | 2011.10.08 |