ホームページ > バックエンド開発 > Golang > Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか?

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

WBOY
リリース: 2024-06-02 09:00:59
オリジナル
1139 人が閲覧しました

Go では、正規表現を使用してタイムスタンプを照合できます。ISO 8601 タイムスタンプの照合に使用される式などの正規表現文字列をコンパイルします: ^d{4}-d{2}-d{2}Td{ 2}: d{2}:d{2}(.d+)?(Z|[+-][0-9]{2}:[0-9]{2})$。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

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

正規表現を使用して Go でタイムスタンプを照合する方法

正規表現 (regex) は、文字列内の特定のパターンを検索して照合するための強力なツールです。 Go では、regexp パッケージを使用して正規表現を処理できます。このパッケージは、正規表現文字列をコンパイルして Regexp オブジェクトを返す MustCompile 関数を提供します。 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})
実践的な例: ISO 8601 タイムスタンプの照合

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("匹配失败")
    }
}
ログイン後にコピー

この正規表現は、次の形式でタイムスタンプを取得します:

  • Four Two-digit ye​​ar ( d{4})

  • 2 桁の月 (d{2})
  • 2 桁の日付 (d {2}) 🎜<li>「T」文字 (区切り文字) 🎜</li> <li>2 桁の時間 (<code>d{2}) 🎜
  • 2 桁の分 (d{2 }) 🎜
  • 2 桁の秒 (d{2}) 🎜
  • オプションの小数秒 ((.d+) ?)🎜「Z」は UTC またはオフセットを表します (([+-][0-9]{2}:[0-9]{2}) ) 🎜🎜🎜🎜コード例🎜🎜🎜次の Go コードは、上記の正規表現を使用してタイムスタンプを照合する方法を示しています。 🎜rrreee🎜 このコードを実行すると、指定されたタイムスタンプが正規表現と一致するため、「照合成功」が出力されます。 🎜

以上がGo で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート