뒤따르는 조건만 확인하기
(?=...)는 현재 위치 뒤의 텍스트가 조건과 맞는지 확인하지만 문자는 소비하지 않아. 검사가 끝나면 뒤의 본 패턴은 같은 위치에서 계속 매칭해.
자주 쓰는 세 가지 경우
뒤따르는 단위로 결과를 제한해. \d+(?= dollars)는 dollars가 뒤에 오는 숫자만 찾고 결과에는 숫자만 담아.
같은 시작 위치에서 여러 조건을 확인해. Python에서는 re.fullmatch(r'(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}', text)처럼 소문자, 대문자, 숫자, 최소 길이 조건을 각각 검사할 수 있어.
경계 문자를 남긴 채 분할해. re.split에서 마커 앞을 나누면서 마커를 다음 조각에 남기고 싶을 때 유용해.
커서는 움직이지 않아
\d+(?=kg)kg는 숫자를 소비한 뒤 kg가 이어지는지 검사하고, 검사 자체가 kg를 소비하지 않았으므로 뒤의 kg가 실제로 그 문자를 매칭해.