7.7.1 Unicode Property
每个 Unicode 字符都只能属于一个 Unicode Property。所有的 Unicode Property 共分为7大类,30小类。大类的名字只有1个字母,小类的名字则不知1个字母,开头字母与所在大类的名字相同,小类包含的字符都属于它所在的大类。
Unicode Property | 说明 | |
---|---|---|
\p{C} | 不可见的控制字符和未使用的码值 | |
\p{Cc} | ASCII 编码中 0x00 到 0x1F 或 Latin-1 编码中 0x80 到 0x9F 的控 制字符 | |
\p{Cf} | 不可见的格式字符 | |
\p{Co} | 留作私用的码值 | |
\p{Cs} | UTF-16 编码中 surrogate pair 的一半 | |
\p{Cn} | 未指定的码值 | |
\p{L} | 各种语言中的字母 | |
\p{Ll} | 具有大写形式的字母的小写形式 | |
\p{Lt} | 只有在单词首位才大写的字符 | |
\p{L&} | 等于Ll、Lu、Lt的组合 | |
\p{Lo} | 没有大小写形态的字母 | |
\p{Lu} | 具有小写字母的字母的大写形式 | |
\p{M} | 用来与其他字符结合的字符(声调、元音变化音等) | |
">\p{Mc} | 与其他字符组合,并且会占用空间的字符(常见于东亚语言) | |
\p{Me} | 需要成对出现的字符,比如圆括号、方括号 | |
\p{Mn} | 用来与其他字符结合,但并不占用额外空间的字符 | |
\p{N} | 各种书写系统中的数字字符 | |
\p{Nd} | 各种书写系统中的 0~9 的字符 | |
\p{Nl} | 形如字符的数字,比如罗马数字 | |
\p{No} | 上标或者下标数字,或者是0~9之外的数字(不包括表一书写系 统中的数字) | |
\p{P} | 各种标点符号 | |
\p{Pd} | 各种连字符号 | |
\p{Ps} | 成对但不同的符号的前半部分(包括英文括号、中文括号、书名号) | |
\p{Pe} | 成对但不同的符号的后半部分(包括英文括号、中文括号、书名号) | |
\p{Pi} | 成对但不同的符号的前半部分(比如单引号、双引号) | |
\p{Pf} | 成对但不同的符号的后半部分(比如单引号、双引号) | |
\p{Pc} | 类似下划线之类的标点字符 | |
\p{Po} | 除横线、括号、引号和连接符之外的任何标点符号 | |
\p{S} | 数字符号、货币符号 | |
\p{Sm} | 数字符号 | |
\p{Sc} | 货币符号 | |
\p{Sk} | 由多个字符构成的组合字符 | |
\p{So} | 数字符号、货币符号和组合字符之外的符号字符 | |
\p{Z} | 空白字符,或者不可见的字符 | |
\p{Zs} | 不可见但占用空间的空白字符 | |
\p{Zl} | 分行符 U+2028 | |
\p{Zp} | 分段符 U+2029 |
7.7.1 Unicode Block
每个 Unicode Block 都对应一个连续的 Unicode 码值区间,U+0000 到U+FFFF 之间的字符一共划分为 105 个 Block。
使用时应该注意,Java 使用的 Unicode Block 是\p{In...}
形式的,比如InCJK_Unified_Ideographs
;而 .NET 使用的 Unicode Block 是\p{Is...}
形式的,同时不包含下划线,比如IsCJKUnifiedIdeographs
。