【发布时间】:2013-07-17 09:12:35
【问题描述】:
我希望我的正则表达式以这样的方式验证字符集..
ABC,DEF,GHI....
3 组字符不允许使用逗号分隔的数字,
谁能帮帮我。
【问题讨论】:
标签: c# asp.net validation
我希望我的正则表达式以这样的方式验证字符集..
ABC,DEF,GHI....
3 组字符不允许使用逗号分隔的数字,
谁能帮帮我。
【问题讨论】:
标签: c# asp.net validation
我的建议是使用以下代码:
string toBeTested = ...
Match m = Regex.Match(toBeTested, "^[a-zA-Z]{3}(\\,[a-zA-Z]{3})*$");
a-zA-Z 匹配一个字母
{3} 正好三倍
然后是一组逗号(转义)后跟三个字母(* == 零次或多次)
^ 表示字符串的开头
$ 表示字符串的结尾
这意味着你的整个字符串应该被验证
【讨论】:
* 替换为 +
这是匹配 A-Z 之间任何内容的正则表达式
var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value;
【讨论】:
"([a-zA-Z]{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");
}
【讨论】:
这样的?
(\S{3},)+(\S{3})$
【讨论】: