在 Windows 7 上使用 ActiveState Perl 5.14.2 或在 CentOS 6.3 Linux 上使用 Perl 5.10.1 我试图从 UTF8 文本中提取所有小写单词:
#!/usr/bin/perl -w
use strict;
use warnings;
while(<>) {
# print "$1\n" while /\b([a-z]{3,})\b/g;
print "$1\n" while /\b([\x{0430}-\x{044F}]{3,})\b/g;
}
虽然这对英文单词很有效(请参阅上面的注释行),但对于西里尔字母(请参阅Unicode 范围图表)则失败 - 脚本不会打印任何内容。
请问有人知道,有什么问题吗?
为方便起见,下面粘贴了一个示例俄语文本:
Все смешалось в доме Облонских。Жена узнала, что муж был в связи с бывшею в их доме француженкою-гувернанткой, и объя вила мужу, что не может жить Положение это продолжалось уже третий день и мучительно чувствовалось и самими супругами, и всеми членами семьи, и домось