2012-08-16 70 views

回答

2

使用Unicode properties

例如爲:

\p{L}任何語言

\d一個數字任何字母,在.NET中那些人物速記類是基於Unicode。

\p{Nd}一個數字零通過任何腳本9除了表意文字

\p{N}任何種類的任何腳本數字字符。例如,允許羅馬數字如「VII」

關於您的第一個表達式:範圍(a-z部分)只能在字符類中使用。所以部分(a-z|A-Z|0-9)字面上匹配「a-z」,「A-Z」或「0-9」。

你可以第一個表達改變

^[\p{L}\d]*[^#$%^&*()\']*$ 

你的第二個可能是

^[\p{L}\d]*$ 

^[\p{L}\p{Nd}]*$ 

,最後一個

^\d*$ 

^\p{Nd}*$