0

我需要将用户输入限制为“wordA、wordB、wordC、wordD、wordE ...”之类的格式。它必须以单词开头(不区分大小写)并以单词结尾,每个单词之间只接受一个逗号。所以它应该是这样的:

   Match match = Regex.Match(tbx.text, @"//expression here",
    RegexOptions.IgnoreCase);

if (match.Success)
{
    //do sth
}

谁能帮我解决这个问题?

4

3 回答 3

3

假设输入是一个单词列表,也允许单个单词(即没有逗号)。

^[a-z]+(?:,[a-z]+)*$

因为,你已经在使用了RegexOptions.IgnoreCase,所以不需要像这样定义类[a-zA-Z]

于 2013-10-19T04:55:14.043 回答
0
Match match = Regex.Match(input, @"^[0-9-]*$");

^意味着匹配应该从输入的开头开始$,它应该在输入的末尾结束。

*意味着(仅)0 或更多数字或破折号应该存在(使用 + 代替 1 或更多)。

于 2013-10-19T04:49:37.747 回答
0

尝试这个:

^([a-zA-Z]+,?)+[a-zA-Z]$

从头到尾,必须以字母开头,可能后跟逗号(对于单个单词条目),并且可以重复任意次数;另外,必须以字母结尾。

于 2013-10-19T04:58:15.680 回答