正则表达式——Unicode 属性列表

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







posted @ 2018-12-15 11:09  gaara724  阅读(1742)  评论(0编辑  收藏  举报