<1-6> 정규표현식 (Regular Expression)
Language/Python2018. 2. 2. 09:21
### 정규표현식
- 특정한 규칙을 가진 문자열의 집합을 표현
- 문자열의 검색과 치환을 위해 지원.
POSIX 기본 및 확장 표준 문법
메타문자 | 기능 | 설명 |
---|---|---|
. | 문자 | 1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다. |
[ ] | 문자 클래스 | "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다. |
[^ ] | 부정 | 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다. |
^ | 처음 | 문자열이나 행의 처음을 의미한다. |
$ | 끝 | 문자열이나 행의 끝을 의미한다. |
- 양의 지정
?
물음표는 0번 또는 1차례까지의 발생을 의미한다. 이를테면 colou?r
는 "color"와 "colour"를 둘 다 일치시킨다.*
별표는 0번 이상의 발생을 의미한다. 이를테면 ab*c
는 "ac", "abc", "abbc", "abbbc" 등을 일치시킨다.+
덧셈 기호는 1번 이상의 발생을 의미한다. 이를테면 ab+c
는 "abc", "abbc", "abbbc" 등을 일치시키지만 "ac"는 일치시키지 않는다
출처 : Wiki (https://ko.wikipedia.org/wiki/정규_표현식)
### Regex Crossword (https://regexcrossword.com/) ###
- Regular Expression 을 crossword 퍼즐을 통해 익힐 수 있게 도와주는 사이트
- Tutorial Play 을 통해 기본적인 학습을 할 수 있다.
Ex)
- (A)\1 에서 ( )\ 는 한 쌍..!! 여기서 \ 의 뜻은 ( )의 인덱스. ( )는 9개까지 쓸 수 있다.
- A{2, } : 두 번 이상.
- A{1} : 한 번.
- \s 는 공백
- Beginner 등을 통해 연습을 할 수 있다.
Ex)
- .* : 아무 글자. 있어도 되고 없어도 되고.
- M? : M이 하나 있거나 없거나.
- / 는 문자. \ 는 의미가 있다.
- *가 [] 안에 들어가면 단순 문자. >> [*]
- \d : 숫자, [0-9] 와 동일
- \D : 숫자가 아닌 것들.
'Language > Python' 카테고리의 다른 글
<2-1> 제어문과 반복문의 연결고리 (0) | 2018.02.06 |
---|---|
<1-7> 정규표현식 with Python (0) | 2018.02.03 |
<1-5> 함수(function) (0) | 2018.02.01 |
<1-4> 제어문(if) (0) | 2018.01.31 |
<1-3> 연산자 (0) | 2018.01.30 |