perl 负面展望不适用于大字符串(长度 > 40000,在活动 perl 和 cygwin perl 版本 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";
}
这适用于所有三个版本的 perl。但是当我通过添加空格来增加字符串的长度时,模式会停止匹配。
例如:my $str = q(A ...some 50000 spaces... B);
请帮忙。