c# Regex用于验证没有空格,没有特殊字符的单词

本文关键字:特殊字符 单词 空格 验证 Regex 用于 | 更新日期: 2023-09-27 18:12:17

我编写了以下Regex,用于只匹配那些没有空格和特殊字符的单词。但是它也匹配包含空格的单词。这有什么不对吗?

Regex rgx = new Regex("[a-zA-Z0-9]+");
if (!rgx.IsMatch(TextBox_EntityType.Text))
{
}

c# Regex用于验证没有空格,没有特殊字符的单词

您可以更改支票的逻辑,使其执行相反的操作,并采取适当的操作:

Regex rgx = new Regex("[^a-zA-Z0-9]");
# Match if there is something that is not alphanumeric
if (rgx.IsMatch(TextBox_EntityType.Text))
{
    # Do what should be done if the text contains non-alphanumeric
}

这一个同样有效,因为.IsMatch()在字符串中的任何地方寻找匹配(它尽最大努力找到匹配),所以要么你使它与Nikhil建议的锚匹配整个字符串,要么像我一样颠倒逻辑(我认为应该稍微更有效,但不是基准)。

应该是^[a-zA-Z0-9]+$

增加^和$。

^匹配字符串的开头,$匹配字符串的结尾。