정규표현식이란?
- 복잡한 문자열을 처리할 때 사용하는 기법(모든 언어 공통)
- 텍스트에서 우리가 원하는 특정한 패턴을 찾을 때 사용
- 예를 들어 전화번호 형태의 패턴을 찾거나 웹 사이트 형태의 패턴을 찾거나 찾은 패턴을 다른 문자열로 변환할 수 있음
- 사용자가 입력한 데이터가 이메일이나 패스워드와 같은 특정한 패턴에 부합하는지 유효성 검사를 할 때 사용할 수 있음
정규표현식을 사용하는 이유?
: 복잡한 문자열을 해결해야할 때 정규표현식을 사용하게 되면 짧고 간결하게 문제를 해결할 수 있음
정규표현식 수식
-
문자 클래스 [ ]
[abc]
- [] 사이의 문자들과 매치
- "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치
- "before" 정규식과 일치하는 문자인 "b"가 있으므로 매치
- "dude"는 정규식과 일치하는 문자인 a, b, c 중 어느 하나도 포함하고 있지 않으므로 매치되지 않음
- 하이픈을 사용하여 From-To로 표현 가능
ex) [a-c] = [abc], [0-5] = [012345]
- 파이썬에서 정규표현식을 지원하는 re 모듈
import re p = re.compile('ab*')
- re.compile을 사용하여 정규표현식('ab*')을 컴파일 한다. re.compile의 결과로 돌려주는 객체 p(컴파일된 패턴 객체)를 사용