我有以下日期字符串 - "2013-02-20T17:24:33Z"
我想写一个正则表达式来提取日期部分"2013-02-20"
。我怎么做?任何帮助将不胜感激。
谢谢, 穆尔塔扎
答案 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);