如何使用正規表示式解析 JSON 日期?使用正規表示式"^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{ 2})(.\d+)?Z$" 匹配格式為"YYYY-MM-DDTHH:MM:SS.mmmZ" 的JSON 日期。透過 regexp.MatchString 函數解析日期,並在成功解析時列印 "日期解析成功"。
如何在Go 中使用正規表示式解析JSON 日期
Go 提供了強大的正規表示式函式庫,可用於解析和處理複雜的文本,包括JSON 日期。本文將引導您逐步進行正規表示式解析 JSON 日期,並提供實戰案例。
正規表示式語法
以下正規表示式可用來符合JSON 日期:
/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?Z$/
此表達式可以符合格式為"YYYY-MM -DDTHH:MM:SS.mmmZ" 的日期,其中:
package main import ( "fmt" "regexp" ) func main() { date := "2023-07-04T13:30:00.123Z" matched, err := regexp.MatchString(`^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?Z$`, date) if err != nil { fmt.Println("Error:", err) return } if matched { fmt.Println("Date parsed successfully") } else { fmt.Println("Invalid date format") } }######實戰案例######## ##假設您有一個名為###"dates.json"### 的JSON 文件,其中包含日期數組:###
{ "dates": [ "2023-07-04T13:30:00.123Z", "2023-07-05T10:00:00Z", "2023-07-06T15:15:00Z" ] }###以下是解析JSON 文件中日期的修改後的程式碼:## #
package main import ( "encoding/json" "fmt" "io/ioutil" "log" "regexp" ) func main() { data, err := ioutil.ReadFile("dates.json") if err != nil { log.Fatal(err) } type DateResponse struct { Dates []string `json:"dates"` } var datesResponse DateResponse if err := json.Unmarshal(data, &datesResponse); err != nil { log.Fatal(err) } for _, date := range datesResponse.Dates { matched, err := regexp.MatchString(`^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?Z$`, date) if err != nil { fmt.Println("Error:", err) } if matched { fmt.Println("Date parsed successfully") } else { fmt.Println("Invalid date format:", date) } } }
以上是如何在 Go 中使用正規表示式解析 JSON 日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!