Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadankan cap masa menggunakan ungkapan biasa dalam Go?

Bagaimana untuk memadankan cap masa menggunakan ungkapan biasa dalam Go?

WBOY
WBOYasal
2024-06-02 09:00:591105semak imbas

Dalam Go, anda boleh menggunakan ungkapan biasa untuk memadankan cap masa: susun rentetan ungkapan biasa, seperti ungkapan yang digunakan untuk memadankan cap masa ISO 8601: ^d{4}-d{2}-d{2}Td{ 2}: d{2}:d{2}(.d+)?(Z|[+-][0-9]{2}:[0-9]{2})$. Gunakan fungsi regexp.MatchString untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa.

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

Cara memadankan cap masa dalam Go menggunakan ungkapan biasa

Ekspresi biasa (regex) ialah alat yang berkuasa untuk mencari dan memadankan corak tertentu dalam rentetan. Dalam Go, ungkapan biasa boleh diproses menggunakan pakej regexp. Pakej ini menyediakan fungsi MustCompile yang menyusun rentetan ungkapan biasa dan mengembalikan objek 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})
Contoh Praktikal: Memadankan Cap Masa ISO 8601

Pertimbangkan ungkapan biasa berikut untuk memadankan cap masa 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("匹配失败")
    }
}

Ungkapan biasa ini menangkap cap masa dalam format berikut:

(
  • tahunFour d{4})

  • Dua digit bulan (d{2})
  • Tarikh dua digit (d {2}) 🎜<li>Aksara "T" (pembatas) 🎜</li> <li>Dua digit jam (<kod>d{2}</kod> </li>) 🎜
  • Dua digit minit (d{2 }) 🎜
  • Dua digit saat (d{2}) 🎜
  • Pilihan saat pecahan ((.d+) ?)🎜"Z" mewakili UTC atau offset (([+-][0-9]{2}:[0-9]{2}) ) 🎜🎜🎜🎜Contoh Kod🎜🎜🎜 Kod Go berikut menunjukkan cara menggunakan ungkapan biasa di atas untuk memadankan cap masa: 🎜rrreee🎜Menjalankan kod ini mencetak "Berjaya Padanan" kerana cap masa yang diberikan sepadan dengan ungkapan biasa. 🎜
  • Atas ialah kandungan terperinci Bagaimana untuk memadankan cap masa menggunakan ungkapan biasa dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn