用于检查非字母数字字符的正则表达式
Regular expression to check for non-alphanumeric characters
我需要 .NET 程序的正则表达式来确保字符串不包含任何字母或数字。下划线和其他特殊字符都可以。
字符串的一个例子是“.____”
我需要检查字符串并确保它没有任何数字或字母。有人可以帮忙吗?
您可以试试下面的正则表达式,它允许不包含字母或数字的字符串。
^[^\dA-Za-z]*$
^
断言我们处于起点。 $
断言我们在字符串的末尾。 [^..]
否定字符 class。 *
重复前一个标记零次或多次。如果您不想匹配空行,请将上述正则表达式中的 *
更改为 +
。
^[^\dA-Za-z]+$
或
^(?!.*[\dA-Za-z]).*$
(?!.*[\dA-Za-z])
断言字符串不包含字母或数字的否定前瞻。它只匹配条件为真的那些行。
或
^[^\p{L}\p{N}]*$
\p{L}
匹配任何语言的任何字母,\p{N}
匹配任何数字。通过将其放入否定字符 class 中,例如 [^\p{L}\p{N}]*
将匹配任何字符,但不匹配字母或数字零次或多次。
如果您希望在找到字母数字字符时引发错误,执行以下操作可能更简单:
[A-Za-z0-9]
在这种情况下,您不需要开始和结束锚点,因为正则表达式只会查找字母数字字符,return 找到第一个字符后为真。
使用:
^[^\p{L}\p{Nd}]+$
\p{L} 匹配 Unicode 类别“字母”中的字符
\p{Nd} 匹配 Unicode 类别“十进制数字”中的字符
我需要 .NET 程序的正则表达式来确保字符串不包含任何字母或数字。下划线和其他特殊字符都可以。 字符串的一个例子是“.____”
我需要检查字符串并确保它没有任何数字或字母。有人可以帮忙吗?
您可以试试下面的正则表达式,它允许不包含字母或数字的字符串。
^[^\dA-Za-z]*$
^
断言我们处于起点。 $
断言我们在字符串的末尾。 [^..]
否定字符 class。 *
重复前一个标记零次或多次。如果您不想匹配空行,请将上述正则表达式中的 *
更改为 +
。
^[^\dA-Za-z]+$
或
^(?!.*[\dA-Za-z]).*$
(?!.*[\dA-Za-z])
断言字符串不包含字母或数字的否定前瞻。它只匹配条件为真的那些行。
或
^[^\p{L}\p{N}]*$
\p{L}
匹配任何语言的任何字母,\p{N}
匹配任何数字。通过将其放入否定字符 class 中,例如 [^\p{L}\p{N}]*
将匹配任何字符,但不匹配字母或数字零次或多次。
如果您希望在找到字母数字字符时引发错误,执行以下操作可能更简单:
[A-Za-z0-9]
在这种情况下,您不需要开始和结束锚点,因为正则表达式只会查找字母数字字符,return 找到第一个字符后为真。
使用:
^[^\p{L}\p{Nd}]+$
\p{L} 匹配 Unicode 类别“字母”中的字符
\p{Nd} 匹配 Unicode 类别“十进制数字”中的字符