我需要将用户输入限制为“wordA、wordB、wordC、wordD、wordE ...”之类的格式。它必须以单词开头(不区分大小写)并以单词结尾,每个单词之间只接受一个逗号。所以它应该是这样的:
Match match = Regex.Match(tbx.text, @"//expression here",
RegexOptions.IgnoreCase);
if (match.Success)
{
//do sth
}
谁能帮我解决这个问题?
假设输入是一个单词列表,也允许单个单词(即没有逗号)。
^[a-z]+(?:,[a-z]+)*$
因为,你已经在使用了RegexOptions.IgnoreCase
,所以不需要像这样定义类[a-zA-Z]
Match match = Regex.Match(input, @"^[0-9-]*$");
这^
意味着匹配应该从输入的开头开始$
,它应该在输入的末尾结束。
这*
意味着(仅)0 或更多数字或破折号应该存在(使用 + 代替 1 或更多)。
尝试这个:
^([a-zA-Z]+,?)+[a-zA-Z]$
从头到尾,必须以字母开头,可能后跟逗号(对于单个单词条目),并且可以重复任意次数;另外,必须以字母结尾。