时间正则表达式上午12点和下午

sha*_*han 1 c# regex

我已经制作了这个正则表达式

 ^(00|0[0-9]|1[012]):[0-5][0-9]? ((a|p)m|(A|P)M)$
Run Code Online (Sandbox Code Playgroud)

但问题是它接受00:00 am,我不想这样如何忽略?我希望时间以这种格式12:12 am它不应该在00:21 am我使用此代码进行验证

        private bool valtime()
    {
        Regex regex = new Regex("^(00|0[0-9]|1[012]):[0-5][0-9]? ((a|p)m|(A|P)M)$");
        if (regex.IsMatch(textBox1.Text))
        {
            return false;
        }
        else
        {
            return true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Dve*_*Dve 5

你可以使用:

Regex.IsMatch(input, @"^(0[1-9]|1[0-2]):[0-5][0-9] [ap]m$", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)