Regular Expressions                
            Lookahead와 Lookbehind
        
        
            
    수색…
통사론
-  긍정적 인 선견자 : 
(?=pattern) -  부정적 예측 : 
(?!pattern) -  긍정적 인 표정 : 
(?<=pattern) -  부정적인 lookbehind : 
(?<!pattern) 
비고
모든 regex 엔진에서 지원되지 않습니다.
 또한 많은 정규 표현식 엔진은 lookbehinds 내부의 패턴을 고정 길이 문자열로 제한합니다. 예를 들어, 패턴 (?<=a+)b 는 aaab 의 b 와 일치해야하지만 파이썬에서는 오류가 발생합니다. 
캡쳐 그룹은 역 참조를 포함하여 예상대로 작동하고 허용됩니다. 미리보기 / lookbehind 자체는 캡처 그룹이 아닙니다.
기초
 긍정적 인 미리보기 (?=123) 는 텍스트가 일치하는 패턴을 포함시키지 않고 주어진 패턴을 따르게합니다. 마찬가지로 긍정적 인 lookbehind (?<=123) 는 텍스트 앞에 주어진 패턴이 있다고 주장합니다. the = 를 ! 바꾸십시오 ! 주장을 부정합니다. 
 입력 : 123456 
-  
123(?=456)은123( 양성 예측 )과 일치합니다. -  
(?<=123)456일치456( 긍정적 인 lookbehind ) -  
123(?!456)실패 ( 부정적 예측 ) -  
(?<!123)456실패 ( 부정보기 ) 
 입력 : 456 
-  
123(?=456)실패 -  
(?<=123)456실패 -  
123(?!456)실패 -  
(?<!123)456경기456 
lookbehind를 사용하여 결말 테스트하기
Lookbehind는 패턴의 끝에서 특정 방식으로 끝나는 지 여부를 확인하는 데 사용할 수 있습니다.
 ([az ]+|[AZ ]+)(?<! ) 는 후행 공백을 제외하고 소문자 또는 대문자 단어의 순서 만 찾습니다. 
\ K로 가변 길이 lookbehind 시뮬레이션
 일부 정규식 (Perl, PCRE, Oniguruma, Boost)은 고정 길이 lookbehind만을 지원하지만 패턴의 시작 부분에서 가변 길이 lookbehind를 시뮬레이트하는 데 사용할 수있는 \K 기능을 제공합니다. \K 가 발생하면이 지점까지 일치하는 텍스트는 삭제되고 \K 다음에 오는 패턴 부분과 일치하는 텍스트 만 최종 결과에 보관됩니다. 
ab+\Kc
 다음과 같습니다.
(?<=ab+)c
 일반적으로 다음 형식의 패턴입니다.
(subpattern A)\K(subpattern B)
 끝나는 유사하게 :
(?<=subpattern A)(subpattern B)
 B 하위 패턴이 A 하위 패턴과 동일한 텍스트를 일치시킬 수있는 경우를 제외하고는 A 하위 패턴이 실제 lookbehind와 달리 텍스트를 계속 소비하므로 미묘하게 다른 결과가 발생할 수 있습니다.