正則表達式-匹配標點符號


 

string testStr = "你好,測試。";
Regex reg = new Regex(@"\p{P}");
testStr = reg.Replace(testStr, "");
//testStr=你好測試

  


Unicode 編碼並不只是為某個字符簡單定義了一個編碼,而且還將其進行了歸類。 

\pP 其中的小寫 p 是 property 的意思,表示 Unicode 屬性,用於 Unicode 正表達式的前綴。 

大寫 P 表示 Unicode 字符集七個字符屬性之一:標點字符。 

其他六個是 

L:字母; 
M:標記符號(一般不會單獨出現); 
Z:分隔符(比如空格、換行等); 
S:符號(比如數學符號、貨幣符號等); 
N:數字(比如阿拉伯數字、羅馬數字等); 
C:其他字符 

上面這七個是屬性,七個屬性下還有若干個子屬性,用於更進一步地進行細分。 

Java 中用於 Unicode 的正則表達式數據都是由 Unicode 組織提供的。 

Unicode 正則表達式標准(可以找到所有的子屬性) 
http://www.unicode.org/reports/tr18/ 

各 Unicode 字符屬性的定義,可以用一看看某個字符具有什么屬性。 
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt 

這個文本文檔一行是一個字符,第一列是 Unicode 編碼,第二列是字符名,第三列是 Unicode 屬性, 
以及其他一些字符信息。

 

類別

說明

Lu

字母,大寫

Ll

字母,小寫

Lt

字母,首字母大寫

Lm

字母,修飾符

Lo

字母,其他

L

所有字母字符。 這包括 Lu、Ll、Lt、Lm 和 Lo 字符。

Mn

標記,非間距

Mc

標記,間距組合

Me

標記,封閉

M

所有音調符號標記。 這包括 Mn、Mc 和 Me 類別。

Nd

數字,十進制數

Nl

數字,字母

No

數字,其他

N

所有數字。 這包括 Nd、Nl 和 No 類別。

Pc

標點,連接符

Pd

標點,短划線

Ps

標點,開始

Pe

標點,結束

Pi

標點,前引號(根據具體使用情況,作用可能像 Ps 或 Pe)

Pf

標點,后引號(根據具體使用情況,作用可能像 Ps 或 Pe)

Po

標點,其他

P

所有標點字符。 這包括 Pc、Pd、Ps, Pe、Pi、Pf 和 Po 類別。

Sm

符號,數學

Sc

符號,貨幣

Sk

符號,修飾符

So

符號,其他

S

所有符號。 這包括 Sm、Sc、Sk 和 So 類別。

Zs

分隔符,空白

Zl

分隔符,行

Zp

分隔符,段落

Z

所有分隔符字符。 這包括 Zs、Zl 和 Zp 類別。

Cc

其他,控制

Cf

其他,格式

Cs

其他,代理項

Co

其他,私用

Cn

其他,未賦值(任何字符都不具有此屬性)

C

所有控制字符。 這包括 Cc、Cf、Cs、Co 和 Cn 類別。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM