我需要检查给定用户输入中的字符、数字和少数特殊字符。输入可以有a-z,a-z,0-9,,?,和>。它不应该有任何其他特殊的特征。
如果输入有一个,它应该停在那里做一些其他的工作人员。我试着写这样的正则表达式(如下),但它总是给出错误的-我不知道我缺少了什么:

string[] vals = allParams.Split(':');
Regex rgx = new Regex(@"^[a-zA-Z0-9?>.]$");
foreach (string value in vals)
{
    string result = rgx.IsMatch(value).ToString();
    if (result == "False")
        return;
}

最佳答案

regex发布了:

"^[a-zA-Z0-9?>.]$"

匹配字符串开头和结尾之间的单个字符。
下面将搜索这些字符中的一个或多个:
"^[a-zA-Z0-9?>.]+$"

注意-关于你的布尔往返。这是一种更好的方法:
bool result = rgx.IsMatch(value);
if (!result)
    return;

或者更短:
if(!rgx.IsMatch(value))
   return;

08-05 12:35