Определить китайский иероглиф, используя Perl? - PullRequest
2 голосов
/ 04 августа 2011

Есть ли способ обнаружить китайские иероглифы с помощью Perl?И есть ли способ разделить китайские иероглифы с символом точка '.'отлично?

1 Ответ

7 голосов
/ 04 августа 2011

Зависит от вашего конкретного представления о том, что такое китайский символ. Возможно, вы ищете /\p{Script=Hani}/, но если мы хотим привести нашу широкую сеть, следующий шаблон регулярного выражения будет соответствовать материалу, который встречается в китайской письменности. Ограничить при необходимости.

use 5.014;
/
    (?: \p{Block=CJK_Compatibility}
    |   \p{Block=CJK_Compatibility_Forms}
    |   \p{Block=CJK_Compatibility_Ideographs}
    |   \p{Block=CJK_Compatibility_Ideographs_Supplement}
    |   \p{Block=CJK_Radicals_Supplement}
    |   \p{Block=CJK_Strokes}
    |   \p{Block=CJK_Symbols_And_Punctuation}
    |   \p{Block=CJK_Unified_Ideographs}
    |   \p{Block=CJK_Unified_Ideographs_Extension_A}
    |   \p{Block=CJK_Unified_Ideographs_Extension_B}
    |   \p{Block=CJK_Unified_Ideographs_Extension_C}
    )
/x;

Да, . соответствует одному символу. Пустой шаблон для split DWYM:

use utf8;
split //, '冰淇淋'
# returns ('冰', '淇', '淋')
...