Соответствует ли \ w всем буквенно-цифровым символам, определенным в стандарту Unicode?

Соответствует ли Perl \ w всем буквенно-цифровым символам, определенным в стандарте Unicode?

Например, будет ли \ w соответствовать все (скажем) китайские и русские буквенно-цифровые символы?

Я написал простой тестовый сценарий (см. ниже), который предполагает, что \ w действительно соответствует «как ожидалось» для тестированных мной буквенно-цифровых символов, отличных от ASCII . Но очевидно, что тестирование далеко не исчерпывающее.

#!/usr/bin/perl                                                                                                                                                                                                  

use utf8;

binmode(STDOUT, ':utf8');

my @ok;
$ok[0] = "abcdefghijklmnopqrstuvwxyz";
$ok[1] = "éèëáàåäöčśžłíżńęøáýąóæšćôı";
$ok[2] = "şźüęłâi̇ółńśłŕíáυσνχατςęςη";
$ok[3] = "τσιαιγολοχβςανنيرحبالтераб";
$ok[4] = "иневоаслкłјиневоцедањеволс";
$ok[5] = "рглсывызтоμςόκιναςόγο";

foreach my $ok (@ok) {
    die unless ($ok =~ /^\w+$/);
}
11
задан tchrist 29 March 2012 в 18:20
поделиться