字母数字和空格的Reqular表达式

本文关键字:Reqular 表达式 空格 数字 | 更新日期: 2023-09-27 18:26:11

我在这里输入带空格的字母数字字符。但是这个表达式不能通过

// Function to Check for AlphaNumeric.
public bool IsAlphaNumeric(String strToCheck)
{
    Regex objAlphaNumericPattern = new Regex(@"[a-zA-Z0-9's]*");
    return objAlphaNumericPattern.IsMatch(strToCheck);
}
protected void Button1_Click(object sender, EventArgs e)
{
    string straddres = "2";
    straddres = TextBox1.Text;
    if (!IsAlphaNumeric(straddres.Trim()))
    {
        Label1.Text = "Error";
    }
    else
    {
        Label1.Text = "Success";
    }
}

例如:

123 abc, 23 2322 erwer

这些单词应该被统计,请让我知道我的表达在哪里是错误的

例如:

@#23,#$ 34,@&* 34s 

机器人是否应该满足

字母数字和空格的Reqular表达式

表达式解决了我的问题

@"^[A-Za-z0-9 ]+$"
将表达式中的*替换为+*将匹配零个字符,因此您将获得所有使用它的字符的匹配,即使是空字符串。+意味着您必须至少有一个字符匹配。

如果需要的话,可以考虑在字符串的开头添加^,在表达式的末尾添加$,使其与整个字符串匹配。

's是一个预定义的字符类。所有预定义的字符类在用户定义的字符类中都会失去其特殊含义。正则表达式将与字母数字或斜线匹配(额外的s是多余的,因为a-z将与之匹配)。

's更改为空格([a-zA-Z 0-9]),或者如果需要捕获任何类型的空白(而不仅仅是ASCII 32),请尝试使用([a-zA-Z0-9]|'s)*

警告:'s的备用匹配也将只捕获空白的整个块。

您需要将匹配值与输入字符串进行比较。

string pattern = @"[a-zA-Z0-9's]*";
Match match = Regex.Match(str, pattern);
if (match.Value == str)
    Console.WriteLine("Valid");
else
   Console.WriteLine("Invalid");