Использование несколько менее лаконичного синтаксиса лямбды:
mystuff = mystuff.filter(x => (x.isX && x.name == "xyz"))
Подробнее о синтаксисе анонимной функции Scala можно узнать здесь .
Попробуйте это регулярное выражение:
^(?:[01]?[0-9]|2[0-3]):[0-5][0-9]$
Или, чтобы быть более отчетливым:
^(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
Я не хочу красть чей-то тяжелый труд, но этот , по-видимому, именно то, что вы ищете.
using System.Text.RegularExpressions;
public bool IsValidTime(string thetime)
{
Regex checktime =
new Regex(@"^(20|21|22|23|[01]d|d)(([:][0-5]d){1,2})$");
return checktime.IsMatch(thetime);
}
Я бы просто использовал DateTime.TryParse ().
DateTime time;
string timeStr = "23:00"
if(DateTime.TryParse(timeStr, out time))
{
/* use time or timeStr for your bidding */
}
Регулярное выражение ^ (2 [0-3] | [01] d) ([:] [0-5] d) $
должно соответствовать 00:00 до 23:59. Не знаю C # и поэтому не могу предоставить вам соответствующий код.
/ RS