字母数字和空格的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
机器人是否应该满足
表达式解决了我的问题
@"^[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");