Maison  >  Article  >  développement back-end  >  Comment faire correspondre les horodatages à l'aide d'expressions régulières dans Go ?

Comment faire correspondre les horodatages à l'aide d'expressions régulières dans Go ?

WBOY
WBOYoriginal
2024-06-02 09:00:591076parcourir

Dans Go, vous pouvez utiliser des expressions régulières pour faire correspondre les horodatages : compilez une chaîne d'expression régulière, telle que l'expression utilisée pour faire correspondre les horodatages ISO 8601 : ^d{4}-d{2}-d{2}Td{ 2} : d{2}:d{2}(.d+)?(Z|[+-][0-9]{2}:[0-9]{2})$. Utilisez la fonction regexp.MatchString pour vérifier si une chaîne correspond à une expression régulière.

如何在 Go 中使用正则表达式匹配时间戳?

Comment faire correspondre les horodatages dans Go à l'aide d'expressions régulières

Les expressions régulières (regex) sont des outils puissants pour rechercher et faire correspondre des modèles spécifiques dans des chaînes. Dans Go, les expressions régulières peuvent être traitées à l'aide du package regexp. Ce package fournit une fonction MustCompile qui compile une chaîne d'expression régulière et renvoie un objet Regexp. regexp 包处理正则表达式。此包提供了一个 MustCompile 函数,可以编译正则表达式字符串并返回一个 Regexp 对象。

实战案例:匹配 ISO 8601 时间戳

考虑以下正则表达式,用于匹配 ISO 8601 时间戳:

`^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$`

此正则表达式捕获以下格式的时间戳:

  • 四位数年份(d{4}
  • 两位数月份(d{2}
  • 两位数日期(d{2}
  • 一个 "T" 字符(分隔符)
  • 两位数小时(d{2}
  • 两位数分钟(d{2}
  • 两位数秒(d{2}
  • 可选的小数秒((.d+)?
  • "Z" 表示 UTC 或偏移量(([+-][0-9]{2}:[0-9]{2})
Exemple pratique : correspondance des horodatages ISO 8601

Considérez l'expression régulière suivante pour faire correspondre les horodatages ISO 8601 :

package main

import (
    "fmt"
    "regexp"
)

func main() {
    timestamp := "2023-02-15T12:34:56Z"
    re := regexp.MustCompile(`^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$`)

    if re.MatchString(timestamp) {
        fmt.Println("匹配成功")
    } else {
        fmt.Println("匹配失败")
    }
}

Cette expression régulière capture les horodatages au format suivant :

  • Quatre Année à deux chiffres ( d{4})

  • Mois à deux chiffres (d{2})
  • Date à deux chiffres (d {2}) 🎜<li>Un caractère "T" (délimiteur) 🎜</li> <li>Heures à deux chiffres (<code>d{2}) 🎜
  • Minutes à deux chiffres (d{2 ) 🎜
  • Secondes à deux chiffres (d{2}) 🎜
  • Fractions de secondes facultatives ((.d+) ?)🎜"Z" représente UTC ou offset (([+-][0-9]{2}:[0-9]{2}) ) 🎜🎜🎜🎜Exemple de code🎜🎜🎜 Le code Go suivant montre comment utiliser l'expression régulière ci-dessus pour faire correspondre les horodatages : 🎜rrreee🎜L'exécution de ce code affiche "Match Successful" car l'horodatage donné correspond à l'expression régulière. 🎜

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!

Déclaration:
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