我需要验证我的应用程序的输入。输入是一个格式化的字符串,可能包含日期的一部分,例如:
{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
,但我不擅长它。
能否请你帮忙?
鉴于我们通过评论来回反馈,我认为您正在寻找的是:
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);
}
}