Regular Expressions Cheat Sheet

이성보·2020년 12월 26일
0

Basic matching

symbolcharacter
.와일드 카드. 어떤 문자와도 일치한다.
\s공백 문자와 일치한다.
\S비 공백 문자와 일치한다.(소문자 \s와 반대)
\d숫자와 일치한다. [0-9]와 동일하다.
\D숫자 이외의 문자와 일치한다. [^0-9]와 동일하다.

Character classes

symbolcharacter
[aeiou]단일 문자와 일치한다. 여기서는 'a', 'e', 'i', 'o', 'u'와 일치하며, 그 외의 문자는 일치되지 않는다.
[a-z0-9]'-' 표시를 써서 문자 범위를 지정할 수 있다. 여기서는 소문자나 숫자로 된 하나의 단일 문자만 일치한다.
[^A-Za-z]캐럿 문자는 논리를 반전시킨다. 이 예제는 대문자 또는 소문자 이외의 다른 문자와 일치한다.

Boundaries

symbolcharacter
\b비어 있는 문자열과 일치하지만, 단어 처음이나 끝에 있어야 한다.
\B비어 있는 문자열과 일치하지만, 단어 처음이나 끝에 있지 않아야 한다.
^줄의 시작이 일치한다.
$줄의 끝이 일치한다.

"Quantifiers"

symbolcharacter
*왼쪽의 문자가 0번 이상 나오는 경우와 일치한다.(탐욕적 수량자)
*?왼쪽의 문자가 0번 이상 나오는 경우와 일치한다.(게으른 수량자)
+왼쪽의 문자가 1번 이상 나오는 경우와 일치한다.(탐욕적 수량자)
+?왼쪽의 문자가 1번 이상 나오는 경우와 일치한다.(게으른 수량자)
?왼쪽의 문자가 0번 이상 나오는 경우와 일치한다.(탐욕적 수량자)
??왼쪽의 문자가 0번 이상 나오는 경우와 일치한다.(게으른 수량자)
()보통은 일치 여부를 판단하지 않을 때 괄호를 쓰지만, findall()에 사용하면 일치된 문자열에서 특정 하위 문자열만 추출할 수 있다.

Special characters

특수 문자를 이런 용도로 쓰는 대신, 단순히 해당 문자를 나타내고 싶은 경우,
백슬래시(\, backslash)를 해당 문자 앞에 접두어로 써서, 이 문자가 정규 표현식의 '특수 문자'로 쓰이는 것이 아니라, 단순히 해당 '문자 자체'를 표현하고 있다는 걸 알리면 된다.

Backreferences

0개의 댓글