-3

寻找特定字母数字的正则表达式如下:Jan.19 - Feb.20

如果字符串包含该数据,则返回 true...

4

1 回答 1

0

代替 REGEX,您可以拆分字符串-,然后尝试使用DateTime.TryParseExactwith format解析每个部分MMM.dd。使用正则表达式验证 DateTime 通常是个坏主意。你可以有这样的方法:

public bool IsValid(string str)
{
    if (string.IsNullOrWhiteSpace(str))
        return false;
    string[] array = str.Split('-');
    if (array.Length != 2)
        return false;
    DateTime temp;
    if (!DateTime.TryParseExact(array[0].Trim(), "MMM.dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp))
        return false;
    if (!DateTime.TryParseExact(array[1].Trim(), "MMM.dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp))
        return false;

    return true;
}

像这样称呼它:

    string str = "Jan.19 - Feb.20";
    Console.WriteLine(IsValid(str)); 
于 2013-05-20T09:40:57.630 回答