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.
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}
)d{2}
)d{2}
)d{2}
)(.d+)?
)([+-][0-9]{2}:[0-9]{2})
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 :
d{4}
)
d{2}
) d {2}) 🎜<li>Un caractère "T" (délimiteur) 🎜</li>
<li>Heures à deux chiffres (<code>d{2}
) 🎜d{2
) 🎜d{2}
) 🎜(.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!