8

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

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

谢谢,穆尔塔萨

4

4 回答 4

10

您可以为此使用捕获组。

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

使用$1,您可以获得您想要的部分。

于 2013-02-28T07:30:21.200 回答
7

好直接的方法是\d\d\d\d-\d\d-\d\d,但你也可以使用量词使它看起来更好\d{4}-\d{2}-\d{2}

于 2013-02-28T07:26:38.117 回答
3

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

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

没有示例代码,因为你没有提到语言。

于 2013-02-28T07:28:11.557 回答
1

使用子串

        string date = "2013-02-20T17:24:33Z";
        string h = date.Substring(0, 10);
于 2013-02-28T07:37:34.700 回答