【发布时间】:2011-07-30 03:53:54
【问题描述】:
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+$/);
}
【问题讨论】:
标签: regex perl unicode internationalization character-properties