用于从字符串中提取日期的正则表达式

时间:2013-02-28 07:24:08

标签: regex

我有以下日期字符串 - "2013-02-20T17:24:33Z"

我想写一个正则表达式来提取日期部分"2013-02-20"。我怎么做?任何帮助将不胜感激。

谢谢, 穆尔塔扎

4 个答案:

答案 0 :(得分:8)

您可以使用捕获组。

/(\d{4}-\d{2}-\d{1,2}).*/

使用$1,您可以获得所需的部分。

答案 1 :(得分:6)

直截了当的方法是\d\d\d\d-\d\d-\d\d,但您也可以使用量词来使其看起来更漂亮\d{4}-\d{2}-\d{2}

答案 2 :(得分:3)

只需搜索第一个T并使用子字符串。我假设你总是得到一个格式良好的日期字符串。

如果日期字符串不能保证有效,您可以使用任何与日期相关的库来解析和验证输入(验证包括日历逻辑,正则表达式无法实现),并重新格式化输出。

没有示例代码,因为您没有提及该语言。

答案 3 :(得分:1)

使用子字符串

        string date = "2013-02-20T17:24:33Z";
        string h = date.Substring(0, 10);