반복 메타문자
|
문자 |
의미 |
예 |
|
* |
0회 이상 반복 |
ca*t => ct, cat, caat, caaat, … |
|
+ |
1회 이상 반복 |
ca+t => cat, caat, caaat … |
|
? |
0회 혹은 1회 |
ca?t => ct, cat |
|
{m} |
m회 반복 |
ca{2}t => caat |
|
{m, n} |
m회부터 n회까지 반복 |
ca{2,4}t => caat, caaat, caaaat |
예)
예제보기
최소 매칭
|
기호 |
의미 |
|
*? |
* 와 같으나 문자열을 최소로 매칭한다. |
|
+? |
+ 와 같으나 문자열을 최소로 매칭한다. |
|
?? |
? 와 같으나 문자열을 최소로 매칭한다. |
|
{m, n} |
{m,n}와 같으나 문자열을 최소로 매칭한다. |
매칭 매타 문자
|
메타 문자 |
의미 |
|
. |
개행 문자를 제외한 모든 문자와 매칭 된다. re.DOTALL 플래그가 셋팅되어져 있다면 줄바꿈 문자 까지도 매칭 대상에 포함된다. |
|
^ |
문자열의 시작과 매칭된다. re.MULTILINE 모드에서는 각 라인의 시작과 매칭된다. [] 메타기호 안에서는 반대의 문자열을 취한다 예) [^a-zA-Z0-9] 모든 알파벳과 숫자를 제외한 것 들과 매칭된다 |
|
$ |
문자열의 마지막 또는 문자열 끝의 개행 문자와 매칭되며, MULTILINE 모드 역시 개행 문자의 앞까지 매칭된다. ‘foo$’가 오직 ‘foo’만 매칭되는 것과는 반대로 ‘foo’는 ‘foo’와 ‘foobar’둘 다 매칭된다. 흥미로운 것은 ‘foo.$’를 ‘foo1\nfoo2\n’에서 찾는다면 foo2는 매치가 되지만 foo1은 MULTILINE 모드에서만 매칭이 된다는 것이다. |
|
[] |
문자 집합을 나타낸다. [abc]는 ‘a’, ‘b’, ‘c’ 문자 중 하나를 의미한다. [a-c]와 같이 나타낼 수도 있다. |
|
| |
a|b 는 해당 문자가 ‘a’이거나 ‘b’라는 뜻이다. |
|
() |
|
이스케이프 문자
|
문자 |
설 명 |
|
\\ |
역슬래쉬 문자 |
|
\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 |
\b의 반대로 단어의 경계가 아님을 나타낸다. |



댓글을 달아 주세요
이런 건 작은 포켓레퍼런스로 해결하는 센스!
비록 돈이 들지만, 사 놓으면 든든한 힘이 되는 친구^^?