如何在字符串中查找任何日期格式

问题描述 投票:-3回答:1

我需要从字符串中获取任何格式的所有日期。

例如:

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

但是我需要编写任何格式,并且有很多选择。我正在寻找检测日期时间任何格式的方法。

c# regex datetime
1个回答
0
投票
/\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}:)?允许秒是可选的]

© www.soinside.com 2019 - 2024. All rights reserved.