Maison > développement back-end > Golang > Comment analyser la date JSON à l'aide d'expressions régulières dans Go ?

Comment analyser la date JSON à l'aide d'expressions régulières dans Go ?

WBOY
Libérer: 2024-06-03 15:27:08
original
451 Les gens l'ont consulté

Comment analyser la date JSON à l'aide d'expressions régulières ? Utilisez l'expression régulière "^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})(.d+ )?Z$" correspond aux dates JSON au format "AAAA-MM-JJTHH:MM:SS.mmmZ". Analysez la date via la fonction regexp.MatchString et imprimez "Date analysée avec succès" une fois analysée avec succès.

如何在 Go 中使用正则表达式解析 JSON 日期?

Comment utiliser des expressions régulières pour analyser des dates JSON dans Go

Go fournit une puissante bibliothèque d'expressions régulières qui peut être utilisée pour analyser et traiter du texte complexe, y compris des dates JSON. Cet article vous guidera étape par étape dans l'analyse des dates JSON avec des expressions régulières et vous fournira un cas pratique.

Syntaxe de l'expression régulière

L'expression régulière suivante peut être utilisée pour faire correspondre les dates JSON :

/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?Z$/
Copier après la connexion

Cette expression peut correspondre aux dates au format "AAAA-MM-JJTHH:MM:SS.mmmZ" où :

  • Yyyy: année
  • mm: mois
  • dd: date
  • hh: heure
  • mm: minute
  • SS: deuxième
  • mmm: milliseconde (facultatif)
  • z: zulu fuseau horaire

Code Go

Le code Go suivant montre comment utiliser des expressions régulières pour analyser les dates 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")
    }
}
Copier après la connexion

Exemple pratique

Supposons que vous ayez un fichier JSON nommé "dates.json" qui contient un tableau de dates :

{
  "dates": [
    "2023-07-04T13:30:00.123Z",
    "2023-07-05T10:00:00Z",
    "2023-07-06T15:15:00Z"
  ]
}
Copier après la connexion

Ce qui suit est le JSON d'analyse fichier Code modifié pour la date en :

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)
        }
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal