使用Regex验证输入

时间:2012-06-21 14:14:38

标签: c# regex

我需要验证我的应用程序的输入。输入是一个格式化的字符串,可能包含Date的部分内容,例如:

{0:yy}{0:MM}{0:dd}_{0:hh}{0:mm}{0:ss}-SOME OTHER TEXT
sometext{0:yyyy}{0:MM}{0:dd}mORETEXT

输入不必包含日期的那些部分,但如果有,我需要它们是String.Format()方法可以使用的有效格式项。我相信我应该使用Regular Expressions验证,但我不擅长。

你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

鉴于我们的来回评论,我认为您所寻找的是:

        Regex curlyThings = new Regex(@"\{0:.*?\}");
        Regex kosherCurlyThings = new Regex(@"\{0:(yy|yyyy|MM|dd|hh|mm|ss)\}");

        MatchCollection matchCollection = curlyThings.Matches("CG{0:yyyy}-{0:MM}-{0:dd}asdf{0:GARBAGE}.csv");
        foreach(Match match in matchCollection)
        {
            if(!kosherCurlyThings.IsMatch(match.Value))
            {
                Console.WriteLine("{0} isn't kosher!", match.Value);
            }                
        }