1. 程式人生 > >正則表示式——Unicode 屬性列表

正則表示式——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