Goで正規表現を使用してJSON日付を解析するにはどうすればよいですか?
Jun 03, 2024 pm 03:27 PM正規表現を使用して 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」形式の日付と照合できます。ここで:
- YYYY: 年
- MM: 月
- DD: 日付
- HH: 時
- MM: 分
- SS: 秒
- mmm: ミリ秒 (オプション)
- Z: ズールー語のタイムゾーン
Goコード
次の Go コードは、正規表現を使用して JSON 日付を解析する方法を示しています:
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 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか?

正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか?

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか?

Golangで正規表現を使用してURLを検出するにはどうすればよいですか?
