我希望我的正则表达式以这样的方式验证字符集..
ABC,DEF,GHI....
3组字符不允许使用逗号分隔的数字,
任何人都可以帮忙。
我的建议是使用以下代码:
string toBeTested = ...
Match m = Regex.Match(toBeTested, "^[a-zA-Z]{3}(\\,[a-zA-Z]{3})*$");
a-zA-Z
匹配一个字母
{3}
正好三倍
然后是一组逗号(转义)后跟三个字母(*
== 零次或多次)
^
表示字符串的开头 表示字符串
$
的结尾
这意味着应该验证您的整个字符串
像这样的东西?
(\S{3},)+(\S{3})$
这对我有用。
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");
}
这是匹配 AZ 之间任何内容的正则表达式
var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value;
"([a-zA-Z]{3},)+" 我认为逗号不应该被转义,否则会像\,