[英]Regex to extract date time from given string
我想通过正则表达式从字符串中提取日期。
字符串:log-bb-2014-02-12-12-06-13-diag
怎么做?
这里有一些开始:
string s = "log-bb-2014-02-12-12-06-13-diag";
Regex r = new Regex(@"\d{4}-\d{2}-\d{2}-\d{2}-\d{2}-\d{2}");
Match m = r.Match(s);
if(m.Success)
{
DateTime dt = DateTime.ParseExact(m.Value, "yyyy-MM-dd-hh-mm-ss", CultureInfo.InvariantCulture);
}
考虑到您的日期仅为2014-02-12
即2014年12月12日。我写了下面的代码,用红宝石提取该部分
str = 'log-bb-2014-02-12-12-06-13-diag'
str.scan(/\d{4}.\d{2}.\d{2}/)
将返回["2014-02-12"]
正则表达式写在两个/
\\d
指任何整数, {}
与任何整数花括号意味着它已经重复次数, .
意味着任何角色。 我在这里使用它-
我已经检查了上述所有建议,但如果日期格式为“2000 年 11 月 11 日”,则没有一个适用。 因为这是我需要为我的问题提取的常量格式,所以这里是它的解决方案。
[AZ]\w*\s\d*\W*\d{4}
注意:此正则表达式专门用于提取上述格式的日期,如果顺序是随机的,例如。 “2000 年 11 月 11 日”。 此正则表达式不会给出合适的结果。 无论对上述内容稍作修改,都会给出正确的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.