-2

我希望我的正则表达式以这样的方式验证字符集..

  ABC,DEF,GHI....

3组字符不允许使用逗号分隔的数字,

任何人都可以帮忙。

4

5 回答 5

1

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

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

a-zA-Z匹配一个字母

{3}正好三倍

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

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

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

于 2013-07-17T11:14:52.407 回答
0

像这样的东西?

(\S{3},)+(\S{3})$
于 2013-07-17T09:18:11.260 回答
0

这对我有用。

    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");
    }
于 2013-07-17T09:34:57.327 回答
0

这是匹配 AZ 之间任何内容的正则表达式

var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value;
于 2013-07-17T09:20:21.260 回答
0

"([a-zA-Z]{3},)+" 我认为逗号不应该被转义,否则会像\,

于 2013-07-17T09:24:36.057 回答