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 ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-06-03 15:27:08
original
516 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:
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
Derniers numéros
Obtenir : transférer des données JSON
Depuis 1970-01-01 08:00:00
0
0
0
Barre oblique inverse présente dans Json
Depuis 1970-01-01 08:00:00
0
0
0
erreur json de stockage mysql
Depuis 1970-01-01 08:00:00
0
0
0
conversion php-json
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal