小编use*_*270的帖子

perl负面向前看不到大字符串

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";
}
Run Code Online (Sandbox Code Playgroud)

这适用于perl的所有三个版本.但是当我通过添加空格来增加字符串的长度时,模式会停止匹配.

例如: my $str = q(A ...some 50000 spaces... B);

请帮助.

perl negative-lookahead

2
推荐指数
1
解决办法
228
查看次数

标签 统计

negative-lookahead ×1

perl ×1