指数関数的発散(15)
$s = " foo " x 100 . "z"; $s =~ /(?:(\s*)foo\s*)*\1\z/;
これが停止しないのは仕方ないが、
$s = " foo " x 100 . "z"; $s =~ /(?:\s*foo\s*)*()\1\z/;
これも停止しないのは意外。
後方参照が使用されていれば無条件でチェックが働かなくなるようだ。
$s = " foo " x 100 . "z"; $s =~ /(?:(\s*)foo\s*)*\1\z/;
これが停止しないのは仕方ないが、
$s = " foo " x 100 . "z"; $s =~ /(?:\s*foo\s*)*()\1\z/;
これも停止しないのは意外。
後方参照が使用されていれば無条件でチェックが働かなくなるようだ。