Python/기초 강의
정규 표현식1
개발게발
2022. 8. 5. 20:46
문자클래스[ ]
[abc]
- [ ] 사이의 문자들과 매치
- "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치
- "before"는 정규식과 일치하는 문자인 "b"가 있으므로 매치
- 하이픈을 사용하여 From-To로 사용가능
Ex) [a-c] = [abc], [0-5] = [012345]
정규 표현식 | 설명 |
\d | 숫자와 매치, [0-9]와 동일한 표현식이다. |
\D | 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다. |
\s | whitespace 문자(space나 tab처럼 공백을 표현하는 문자)와 매치, [\t\n\r\f\v]와 동일한 표현식이다. 맨 앞의 빈칸은 공백 문자(space)를 의미한다. |
\S | whitespace 문자가 아닌 것과 매치, [^\t\n\r\f\v]와 동일한 표현식이다. |
\w | 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다. |
\W | 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다. |
Dot(.)
a.b
- 줄바꿈(\n)을 제외한 모든 문자와 매치
- "aab"는 가운데 문자 "a"가 모든 문자를 의미하는 '.'과 일치하므로 정규식과 매치
- "a0b"는 가운데 문자 "0"가 모든 문자를 의미하는 '.'과 일치하므로 정규식과 매치
- "abc"는 "a"문자와 "b"문자 사이에 어떤 문자라도 하나는 있어야 하는 이 정규식과 일치하지 않으므로 매치되지 않는다
반복(*)
ca*t
- "ct"는 "a"가 0번 반복되어 매치
- "cat"는 "a"가 0번 이상 반복되어 매치(1번 반복)
- "caaat"는 "a"가 0번 이상 반복되어 매치(3번 반복)
반복(+)
ca+t
- "ct"는 "a"가 0번 반복되어 매치되지 않음
- "cat"는 "a"가 1번 이상 반복되어 매치(1번 반복)
- "caaat"는 "a"가 1번 이상 반복되어 매치(3번 반복)
반복({m,n}, ?)
ca{2}t
- "cat"는 "a"가 1번만 반복되어 매치되지 않음
- "caat"는 "a"가 2번 반복되어 매치
ca{2,5}t
- "cat"는 "a"가 1번만 반복되어 매치되지 않음
- "caat"는 "a"가 2번 반복되어 매치
- "caaaaat"는 "a"가 5번 반복되어 매치
ab?c
- "abc"는 "b"가 1번 사용되어 매치
- "ac"는 "b"가 0번 사용되어 매치
- "abbc"는 "b"가 2번 사용되어 매치되지 않음
- ? == {0,1}
출처 : https://www.youtube.com/watch?v=dTDoTR0MXjU&list=PLU9-uwewPMe2AX9o9hFgv-nRvOcBdzvP5&index=10