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

我做了这个正则表达式

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

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

  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; } } 

你可以使用:

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