2010-07-19 104 views

回答

2

使用

@"^[^\W_]+(?: [^\W_]+){0,8}$" 

,讓一切\w比賽除了_

\W手段,所以它放入一個否定的字符類,並添加_的那類,我們有效地減去\w_「不是由\w匹配任何字符」 *

在換句話說,[^\W_]表示「匹配既不是非字母數字字符也不是下劃線的任何字符」。

另一種方式(也許更明確,更容易理解)是使用Unicode屬性:

@"^[\p{L}\p{N}]+(?: [\p{L}\p{N}]+){0,8}$" 

其中[\p{L}\p{N}]手段「任何Unicode字母或數字」。


*在.NET中, \w速記匹配比 [A-Za-z0-9_]多了不少,特別是國際(非ASCII)字母。

0

\w替換爲[a-zA-Z0-9]。快捷鍵\w匹配任何單詞字符,即字母數字字符和下劃線。

@"^[a-zA-Z0-9]+(?: [a-zA-Z0-9]+){0,8}$" 

您可以使用[a-z0-9]一旦你弄清楚如何設置的i標誌(不區分大小寫)。