C# 正则表达式以逗号分隔符匹配3个字符

C# 正则表达式以逗号分隔符匹配3个字符,c#,asp.net,validation,C#,Asp.net,Validation,我希望我的正则表达式以如下方式验证字符集 ABC,DEF,GHI.... 3个字符集,不允许使用逗号分隔的数字 有人能帮忙吗。像这样的吗 (\S{3},)+(\S{3})$ 这里的正则表达式匹配A-Z之间的任何内容 var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value; “([a-zA-Z]{3},)+” 我认为逗号不应该被转义,否则它会像\,

我希望我的正则表达式以如下方式验证字符集

  ABC,DEF,GHI....
3个字符集,不允许使用逗号分隔的数字

有人能帮忙吗。

像这样的吗

(\S{3},)+(\S{3})$

这里的正则表达式匹配A-Z之间的任何内容

var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value;
“([a-zA-Z]{3},)+” 我认为逗号不应该被转义,否则它会像\,

这对我有用

    string s = "ABC,DEF,GHI";

    Match match = Regex.Match(s, "^([a-zA-Z]{3},)+[a-zA-Z]{3}$");

    if (match.Success) {
        Console.WriteLine("String passes");
    } else {
        Console.WriteLine("String fails");
    }

我的建议是使用以下代码:

string toBeTested = ...
Match m = Regex.Match(toBeTested, "^[a-zA-Z]{3}(\\,[a-zA-Z]{3})*$");
a-zA-Z
与字母匹配

{3}
正好三次

然后是一组逗号(转义),后跟三个字母(
*
==零次或多次)

^
表示字符串的开头
$
表示字符串的结尾


这意味着您的整个字符串应该得到验证

因为您的字符串仍然存在问题,我尝试了^([a-z]{3}+,\s*[a-z]{3}+**$仍然无法得到我的结果,请您帮助,我无法限制字符您是指限制字符吗?你想要一些特定的角色吗?或者,如果有数字,你想让它跳过吗?这里我想要字符限制,你想要什么字符限制?这个还匹配由长度为3的字母组成的字符串*k@woj2ch是的,我看错了“?”标志。谢谢你把这个指向我。嗯[a-zA-Z]表示拉丁字母大写和小写。{3} 表示应该正好有3个逗号,逗号表示逗号:)()组整个表达式,+符号表示ith应该在string中出现一次或多次它还匹配类似“ABC”的字符串-如果您希望其中至少有一个逗号,请将
*
替换为
+