我需要从字符串中获取任何格式的所有日期。
例如:
string text = "aaaaa25/01/2019 21:22:56 dfgdfv cvcvbcvb 25/02/18 2:12 asdfd";
我需要一种提取所有日期的方法
25/01/2019 21:22:56,18/02/25 2:12
作为DateTime。
我通过Regex尝试:
var splitter = new Regex("[0-9]{2}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}");
foreach (Match m in splitter.Matches(str))
{
string dateString = m.Groups[0].Value;
DateTime dt = DateTime.ParseExact(dateString, "MM/dd/yy HH:mm:ss", null);
}
但是我需要编写任何格式,并且有很多选择。我正在寻找检测日期时间任何格式的方法。
/\d{1,2}\/\d{1,2}\/(?:\d{2}){1,2} \d{1,2}:\d{2}(:?:\d{2})?/gm
几张:
[\d{1,2}
匹配一位或两位数字。
(?:\d{2}){1,2}
与一组两位数字匹配一次或两次。 (因此为2或4位数字)
[(?:\d{2}:)?
允许秒是可选的]