簡體   English   中英

如何使用正則表達式從字符串中提取日期

[英]how to extract date from a string using regex

我正在尋找可以從以下html中提取日期的正則表達式

<p>British Medical Journal, 29.9.12, pp.37-41.</p>

並將其轉換為格式29/09/12

匹配此模式:-

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

並替換為:-

$1/$2/$3

\\d用於匹配digits 將其與量詞(+)配合使用,您將匹配一個或多個數字。 現在,在正則表達式中, dot(.)是一個元字符,可以匹配任何字符。 要從字面上匹配一個period ,您需要對其進行轉義,或者在字符類中使用它。


要轉換為特定的Date Format ,例如: MatchEvaluator 9 > 09 ,可以使用MatchEvaluator :-

string input = "British Medical Journal, 29.9.12, pp.37-41.";
Regex reg = new Regex(@"(\d+)[.](\d+)[.](\d+)");
string result = reg.Replace(input, delegate(Match m) {
    return m => DateTime.Now.ToString("dd/MM/yy")
});

您可以檢查它是否有效。

這是正則表達式模式: \\d{1,2}\\.\\d{1,2}\\.\\d{1,2}

這是如何將此字符串解析為DateTime的示例:

DateTime.ParseExact("29.9.12", "d.M.yy", CultureInfo.InvariantCulture);

(\\d{4})[-](\\d{2})[-](\\d{2})使用此正則表達式選擇2017年1月23日的格式日期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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