簡體   English   中英

谷歌日歷的正則表達式 API 日期 output

[英]Regex for Google Calendar API date output

我有一個包含日期的字符串,它有很多格式的可能性。 我匹配它的正則表達式變得荒謬而冗長。 我希望學習更簡潔的表達方式。 以下是各種格式。 我想將每個日期作為自己的匹配項:

Sat Jul 16, 2011
Sat Jul 16, 2011 6pm to 8pm
Sat Jul 16, 2011 6pm to 8:30pm
Sat Jul 16, 2011 6:30pm to 8pm
Sat Jul 16, 2011 6:30pm to 8:30pm

Sat Jul 16, 2011 to Sun Jul 17, 2011
Sat Jul 16, 2011 6pm to Sun Jul 17, 2011 8pm
Sat Jul 16, 2011 6:30pm to Sun Jul 17, 2011 8pm
Sat Jul 16, 2011 6pm to Sun Jul 17, 2011 8:30pm
Sat Jul 16, 2011 6:30pm to Sun Jul 17, 2011 8:30pm

在我來這里問之前,我已經達到了這一點:

([A-Z]{1}[a-z]{2} [A-Z]{1}[a-z]{2} [0-9]{1,2}, [0-4]{4} [0-9]{1,2}[ap]{1}m)( to ([A-Z]{1}[a-z]{2} [A-Z]{1}[a-z]{2} [0-9]{1,2}, [0-4]{4} [0-9]{1,2}[ap]{1}m))?

它將返回第一個日期,如果存在則返回第二個日期,但僅適用於這種格式: Sat Jul 16, 2011 6pm to Sun Jul 17, 2011 8pm 那太荒謬了。

編輯:

有人建議我檢查日期的“到”部分,並在每一側運行正則表達式,而不是試圖一次考慮所有情況。 仍在為它的每一面尋找更簡潔的解決方案,但這將有很大幫助。

按照建議將日期分成兩半,然后使用date.js解析兩半。 然后是 Date.parse('Sat Jul 16, 2011 6:30pm')

暫無
暫無

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

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