Regex表达式仅限数字和字符

本文关键字:字符 数字 表达式 Regex | 更新日期: 2023-09-27 18:21:31

我为C#文件创建了以下regex表达式。基本上,我希望用户的输入只能是规则字符(A-Z下限或上限)和数字。(空格或符号)。

[a-zA-Z0-9]

出于某种原因,只有当它本身是一个符号时,它才会失败。如果其中混合了字符,则表达式通过。

我可以向你展示我如何实现它的代码,但我认为这是我的表达方式。

谢谢!

Regex表达式仅限数字和字符

问题是它可以在的任何地方匹配。你需要锚:

^[a-zA-Z0-9]+'z

^与字符串的开头匹配,'z与字符串的结尾匹配。

(注意:在.NET正则表达式中,$用可选的换行符匹配字符串的末尾。)

这是因为它将匹配字符串中需要以下内容的任何字符。强制它匹配整个字符串,而不仅仅是的一部分

^[0-9a-zA-Z]*$

正则表达式将字符串中的每个字母数字字符作为单独的匹配项进行匹配。

如果你想确保用户输入的整个字符串只有字母数字字符,你需要做一些事情,比如:

^[a-zA-Z0-9]+$

您确定要检查整个字符串吗?那就是你在用一个像^[a-zA-Z0-9]*$其中^表示字符串的开始,$表示字符串的结束?