[英]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.