2
我正在處理一些處理可能畸形的UTF8的Perl代碼,並且遇到了與正則表達式匹配的奇怪現象。請看下面的代碼:在Perl正則表達式中使用UTF8的奇怪
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
my $string = "One \x{FFFF_FFFF} three\n";
my $re1 = qr/\x{FFFF_FFFF}/;
my $re2 = qr/.*\x{FFFF_FFFF}/;
my $re3 = qr/.\x{FFFF_FFFF}/;
print "One\n" if $string =~ $re1;
print "Two\n" if $string =~ $re2;
print "Three\n" if $string =~ $re3;
輸出是:
一個
三
爲什麼沒有第二個正則表達式也匹配?有沒有解決辦法?
我正在使用Perl 5.14.2。
它爲我用Perl 5.18 – ofrommel
錯誤的我讓你從v5.20.1期望的行爲 – tjd