我需要.NET程序的正则表达式,以确保字符串不包含任何字母或数字。下划线和其他特殊字符都可以。 字符串的一个例子是" .____"
我需要检查字符串并确保它没有任何数字或字母。有人可以帮忙吗?
答案 0 :(得分:2)
使用:
^[^\p{L}\p{Nd}]+$
\ p {L}匹配Unicode类别“letter”中的字符
\ p {Nd}匹配Unicode类别“十进制数字”
答案 1 :(得分: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}]*
将匹配任何字符,但不匹配字母或数字零次或多次。
答案 2 :(得分:0)
如果您在找到字母数字字符时想要引发错误,则执行以下操作可能会更简单:
[A-Za-z0-9]
在这种情况下,您不需要开始和结束锚点,因为正则表达式只会查找字母数字字符,并在找到第一个字符时返回true。