2015-01-09 70 views
0

我需要.NET程序的正则表达式来确保字符串不包含任何字母或数字。下划线和其他特殊字符都可以。 一个字符串的例子是“.____”用于检查非字母数字字符的正则表达式

我需要检查字符串,并确保它没有任何数字或字母。谁能帮忙?

回答

2

用途:

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

\ p {L}为从Unicode类别“信”
\ p {钕}匹配该Unicode类的字符一个字符匹配“十进制数字”

1

你可以尝试下面的正则表达式,它允许不包含字母或数字的字符串。

^[^\dA-Za-z]*$ 

^声称我们是在开始。 $断言我们在字符串的末尾。 [^..]否定字符类。 *重复上一个令牌零次或多次。如果您不想匹配空白行,请将上述正则表达式中的*更改为+

^[^\dA-Za-z]+$ 

OR

^(?!.*[\dA-Za-z]).*$ 

(?!.*[\dA-Za-z])排除模式,它断言字符串将不包含一个字母或数字。它仅匹配那些条件为真的行。

OR

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

\p{L}任何种类的任何语言的字母和\p{N}匹配任何种类的数字相匹配。通过将它放入一个否定字符类,如[^\p{L}\p{N}]*可以匹配任何字符,但不能匹配字母或数字零次或多次。

+0

你能否为我分解一下?我正在尝试熟悉正则表达式。另外我试着把第一个表达式输入到一个测试器中,然后我得到一个“尾随空白”的错误 – ElenaDBA

+0

把''''改成'+'就像'^ [^ \ dA-Za-z] + $' –

0

如果您正在寻找提高一个错误,如果一个字母数字字符被发现,它可能是简单的做到以下几点:

[A-Za-z0-9] 

你不需要在这种情况下,正则表达式的开始和结束锚只会寻找一个字母数字字符,并在找到第一个字符时返回true。

相关问题