簡體   English   中英

正則表達式從給定字符串中提取日期時間

[英]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);
}

嘗試這個

(\d+)[-.\/](\d+)[-.\/](\d+)

正則表達式演示

它將匹配所有日期格式

考慮到您的日期僅為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM