正则表达式逗号分隔字符串验证

Ali*_*san 4 c# regex

我有一个字符串,只有当它有2个字符并且用逗号分隔时才有效.

AD,AC,AN,JP (valid)
AD (valid) if user enter only one it must be validate
Run Code Online (Sandbox Code Playgroud)

如果它是一个数字或除逗号以外的任何其他字符或其长度大于2,则必须返回无效.

AD,12,AN,JP (invalid)
AAD,12,AN,JP (invalid)
AA,CC,ANA,JP (invalid)
AA,#C,AA,JP (invalid)
Run Code Online (Sandbox Code Playgroud)

Qui*_*ith 9

这假设输入始终为大写:

var reggie = new Regex(@"^[A-Z]{2}(,[A-Z]{2})*$");
Run Code Online (Sandbox Code Playgroud)

如果在验证输入之前,您想要提取数据,则可以对逗号执行简单拆分(不需要正则表达式拆分):

if (reggie.IsMatch(inputString))
    string[] values = string.Split(',');
Run Code Online (Sandbox Code Playgroud)