perl 네가티브 미리보기는 큰 문자열 (길이가 40000 이상, 액티브 펄과 cygwin 펄, 버전 5.14)에서 작동하지 않는다. 나는 mingw perl 5.8.8
와 동일한 코드를 시도하고 5000이대용량 문자열을 앞두고 펄블 네거티브가 보이지 않는다.
내가 사용하고있는 코드는> 길이 문자열을 작동하지 :
는my $str = q(A B);
my $pattern = '(A)(?:(?!(X)).)*(B)';
if ($str =~ m/$pattern/) {
print "matched\n";
}
이 펄의 세 가지 버전의 잘 작동합니다. 그러나 공백을 추가하여 문자열의 길이를 늘리면 패턴 일치가 중지됩니다. 예컨대 : my $str = q(A ...some 50000 spaces... B);
친절하게 도움을
.
'세그먼트 오류'와 같은 오류가 발생합니까? –
segfault 없음; 그것은 단지 일치를 멈춘다. 네거티브 룩을 제거하면 긴 문자열에서도 패턴이 일치합니다. – user2053270