一年有365天,我们将其分为12个月,每个月份天数不同,最多的月份包含31天,那么,我们在开发软件时如何确定用户输入的每个月份正确呢?下面,济南网站建设小编就来为大家介绍,在c#编程语言中如何通过正则表达式来验证用户输入的月份包含的天数是否正确,希望大家了解正则表达式有所帮助!
关键代码:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string[] months = {
"(?:(?<!02)(?:0?[1-9]|1\\d|2\\d|3[01]))", // 1-31日(非二月)
"(?:(?:(?<!00)(?:(?:0?[48]|[2468][048]|[13579][26])00)|(?:0?[48]|[13579][26]|[2468][048])0?4))02", // 闰年二月
"(?:(?:(?:0?[48]|[13579][26])|(?:[2468][048]0?|[3579][26]0?)(?:(?!=00)|(?=00)(?=\\b(?:1[6-9]|[2-9]\\d)\\b)))02" // 平年二月
};
string pattern = "^(?:" + string.Join("|", months) + ")$";
while (true)
{
Console.Write("请输入月份天数(或输入'退出'结束):");
string input = Console.ReadLine();
if (input.ToLower() == "退出") break;
if (Regex.IsMatch(input, pattern))
{
Console.WriteLine("输入正确!");
}
else
{
Console.WriteLine("输入错误,请重新输入。");
}
}
}
}
评论