Search

정규표현식

생성일
2022/10/31 13:21
태그
파이썬이 역슬래시를 리터럴로 번역하는 경우도 있지만 그렇지 않은 경우도 있기 때문에 항상 원시 문자열을 사용하는 습관을 들이지 않는다면, 여러분의 코드는 신뢰하기가 어렵고 예측하기도 어려워진다. 그러니 정규표현식 지시 문자열 맨 앞에는 r을 항상 넣는 것이 좋다.
[ -] : 빈칸 혹은 빼기 기호와 일치하는지 확인, 둘중 하나만 나타나야 한다.
'-' 기호는 대괄호 안에서 사용하면 특별한 의미를 지니는 경우가 많지만, 대괄호 기호 안에 맨 앞이나 끝에 위치하면 리터럴로 인식된다.
문자 개수는 정규표현식 패턴으로 표현할 때 특별한 의미를 가지고 있다. 이 방법들을 모두 숙지하는 것이 좋다. 특히 +나 *와 같은 표현식은 구두점 문자도 포함한다.
특별한 의미를 지니고 있지 않은 모든 문자는 파이썬 정규표현식 번역기에서 리터럴 문자로 인식한다. 정규표현식 번역기는 이 문자들이 정확하게 일치하는지 확인한다.
역슬래시 기호는 보통 '이스케이프(escape)'특수 문자에 사용되며, 특수 문자를 리터럴 문자로 만든다. 역슬래시는 원래 문자에 특별한 의미를 부여하기 위해서도 사용된다. 가령 \d는 'd'를 의미하는 것이 아니라 '모든 숫자'를 의미한다.
동일한 정규표현식 패턴을 여러 번 사용하는 경우가 있다면 해당 패턴을 먼저 컴파일하여 정규표현식 객체로 만든 후 그 객체를 반복하여 사용하는 것이 좋다.
컴파일을 미리 수행하면 똑같은 패턴을 한 번 이상 사용할 때, 코드 실행 시간을 줄일 수 있다. 그렇지 않으면 파이썬은 한 번만 만들어도 되는 상태 기계를 여러 번 다시 만들게 된다.
compile 메서드를 사용한 정규표현식 객체 예시
다른 함수 플래그
정규표현식 플래그
정규표현식 : 기본 문법 요약
메타 문자(meta characters) : 특수 문자나 문자의 숫자를 제어하는 문자(가령 '모든 숫자' 혹은 '모든 문자숫자식(alpanumeric)')를 위한 도구다. 각 문자는 한 번에 하나의 문자와 일치한다.
메타문자
문자 집합(character sets) : 이 문법도 한 번에 하나의 문자와 일치한다. 이 경우는 일치 대상 값의 집합이 주어진다.
표현식 수량자(expression quantifiers) : 이 연산자는 각 문자를 조합할 수 있게 해 준다. 가령 와일드카드(wildcard, *)는 표현식 패턴을 계속 반복할 수 있다.
그룹(groups) : 소괄호 기호를 사용하면 작은 표현식을 큰 표현식과 조합할 수 있다.