使用perl检测汉字?

dee*_*Mie 2 perl split detect cjk

有没有办法用Perl检测中文字符?有没有什么方法可以用符号点''来分割汉字.完美?

dax*_*xim 7

取决于你对什么是汉字的特殊概念.也许你正在寻找/\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;
Run Code Online (Sandbox Code Playgroud)

是的,.匹配一个字符.拆分 DWYM 的空模式:

use utf8;
split //, '???'
# returns ('?', '?', '?')
Run Code Online (Sandbox Code Playgroud)