簡體   English   中英

YYYY / MM / DD日期格式正則表達式

[英]YYYY/MM/DD date format regular expression

我想使用正則表達式匹配以下C#中的這些日期格式。

  1. YYYY / MM / DD 2013/11/12
  2. YYYY / M / DD 2013/5/11
  3. YYYY / MM / D 2013/10/5
  4. YYYY / M / D 2013/5/6

我嘗試了一些正則表達式,但是它們不能匹配4種日期格式。

^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])

選中此選項可了解正則表達式和驗證日期的兼容性。 所以我會用

\d{4}(?:/\d{1,2}){2}

然后在C#中做任何事情來驗證匹配。 雖然可以做到,但您會花費大量時間來嘗試實現它,盡管該帖子中有一個正則表達式,據說有些擺弄會在正則表達式中驗證日期,但這看起來很嚇人。

嘗試

^\d{4}[-/.]\d{1,2}[-/.]\d{1,2}$

大括號{}給出允許的數字。 例如, \\d{1,2}表示一位或兩位數字。

您可能需要更多才能匹配日期。 嘗試這個:

(19|20)\d\d([-/.])(0?[1-9]|1[012])\2(0?[1-9]|[12][0-9]|3[01])
((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-((0[13578])|(1[02]))\-((0[1-9])|([12][0-9])|(3[01])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-((0[469])|11)\-((0[1-9])|([12][0-9])|(30)))|(((000[48])|([0-9][0-9](([13579][26])|([2468][048])))|([0-9][1-9][02468][048])|([1-9][0-9][02468][048]))\-02\-((0[1-9])|([12][0-9])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-02\-((0[1-9])|([1][0-9])|([2][0-8])))

這是yyyy-MM-dd格式的正則表達式。

您可以替換-\\/yyyy/MM/dd ...

經測試工作完美。

Ajit的正則表達式接近完美,但泄漏了以12和16結尾的the年的評估。這是完美的更正

((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-((0[13578])|(1[02]))-((0[1-9])|([12][0-9])|(3[01])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-((0[469])|11)-((0[1-9])|([12][0-9])|(30)))|(((000[48])|([0-9]0-9)|([0-9][1-9][02468][048])|([1-9][0-9][02468][048])|([0-9]0-9)|([0-9][1-9][13579][26])|([1-9][0-9][13579][26]))-02-((0[1-9])|([12][0-9])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-02-((0[1-9])|([1][0-9])|([2][0-8])))

嘗試這個。 這接受所有四個模式

@"\d{4}[- /.]([1-9]|0[1-9]|1[012])[- /.]([1-9]|0[1-9]|[12][0-9]|3[01])"

暫無
暫無

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

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