2017-05-04 48 views
0

類似How to use REGEX patterns to return day of the week if a date is entered?除了我只尋找正則表達式答案不是「任何其他聰明的方法」。正則表達式來匹配日期從日期

什麼是最簡單的正則表達式來匹配一週中的某一天,例如週四的日期字符串格式如2017-05-04T10:14:07Z。

這是我作爲一個起點。

2017-05-(04|11|18|25)T.*$

有沒有辦法實現,沒有太多管道的解決方案,並涵蓋所有可能年或至少在過去的十年?

+4

一般我不認爲只有一個正則表達式可以從你的時間戳中爲你提供一週中的哪一天。正則表達式很適合從某些東西中提取信息,但它沒有其他的知識。 –

+0

這絕對是*可能*,至少在我的問題中的示例中顯示的固定時間段內。我想知道是否有任何模式或技巧,以避免列出每個可能的組合。 –

+0

*星期四格式化日期字符串... *哦,先生。你對正則表達式聽錯了。 – revo

回答

0

首先,最重要的是,星期四無法從日期字符串中提取,格式如2017-05-04T10:14:07Z,因爲「星期四」從未出現在字符串中。您可以捕捉到的最好的數字是2位數日(「04」)。

你可以得到天數(\d+-\d{1,2}-(\d{1,2})T.*?Z),但是正則表達式無法驗證一天的正確性。 (例如,對於一個隨機的年份,你能否告訴我,如果2月28日是有效的,沒有列出每一個實例?)所以只有這樣做,如果你接受的日子可能不是有效的(或源始終是正確的)