我需要将用户输入限制为“wordA,wordB,wordC,wordD,wordE ...”等格式。它必须以单词开头(不区分大小写)并以单词结尾,每个单词之间只接受一个逗号。所以它应该是这样的:
Match match = Regex.Match(tbx.text, @"//expression here",
RegexOptions.IgnoreCase);
if (match.Success)
{
//do sth
}
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
假设输入是允许单个单词(即没有逗号)的单词列表。
^[a-z]+(?:,[a-z]+)*$
由于您已经在使用RegexOptions.IgnoreCase
,因此无需定义类[a-zA-Z]
答案 1 :(得分:0)
Match match = Regex.Match(input, @"^[0-9-]*$");
^
表示匹配应从输入的开头开始,$
表示应该在输入结束时结束。
*
表示(仅)0或更多数字或短划线应该在那里(使用+代替1或更多)。
答案 2 :(得分:0)
试试这个:
^([a-zA-Z]+,?)+[a-zA-Z]$
从头到尾,必须以一个字母开头,可能后面跟一个逗号(对于单个单词条目),并且可以重复任意次;还必须以信件结尾。