Cara menggunakan ungkapan biasa untuk mengesahkan format masa dalam golang

WBOY
Lepaskan: 2023-06-24 10:24:23
asal
1334 orang telah melayarinya

Dalam golang, adalah keperluan yang sangat biasa untuk menggunakan ungkapan biasa untuk mengesahkan format masa. Pengesahan format masa boleh membantu kami menyemak ketepatan input pengguna dalam aplikasi dan mengelakkan masalah semasa memproses masa Ungkapan biasa ialah alat berkuasa yang boleh membantu kami melaksanakan pengesahan format masa. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk mengesahkan format masa dalam golang.

Pertama, kita perlu memahami sintaks dan pengetahuan asas ungkapan biasa. Dalam golang, kami menggunakan pakej regexp untuk melaksanakan operasi ekspresi biasa. Pakej ini menyediakan struktur Regexp dan kaedah yang berkaitan, yang boleh digunakan untuk operasi seperti memadankan rentetan, mencari rentetan, menggantikan rentetan dan mengesahkan rentetan. Apabila menggunakan ungkapan biasa untuk pengesahan format masa, kita perlu membina ungkapan biasa berdasarkan ciri format masa.

Berikut ialah beberapa format masa biasa dan ungkapan biasa yang sepadan:

  1. yyyy-MM-dd HH:mm:ss:

^ d{ 4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|1-2|3[0-1]) (?:01|2 [0] -3]):0-5:0-5$

  1. yyyy-MM-dd HH:mm:ss.SSS:

^d{4 }- (?:0[1-9]|1[0-2])-(?:0[1-9]|1-2|3[0-1]) (?:01|2[0- 3] ):0-5:0-5.[0-9]{3}$

  1. yyyy/MM/dd HH:mm:ss:

^d {4}/(?:0[1-9]|1[0-2])/(?:0[1-9]|1-2|3[0-1]) (?:01| 2[ 0-3]):0-5:0-5$

  1. yyyy/MM/dd HH:mm:ss.SSS:

^d{ 4} /(?:0[1-9]|1[0-2])/(?:0[1-9]|1-2|3[0-1]) (?:01|2[0 -3] ]):0-5:0-5.[0-9]{3}$

Dalam ungkapan biasa di atas, d mewakili nombor, ^ mewakili permulaan rentetan yang sepadan dan $ mewakili aksara sepadan Hujung rentetan, (?:...) mewakili kumpulan bukan menangkap, | mewakili atau, [...] mewakili set aksara dan aksara melarikan diri, {m,n} mewakili julat ulangan.

Untuk ungkapan biasa di atas, kami boleh menerangkan format masa yang dipadankan masing-masing:

  1. yyyy-MM-dd HH:mm:ss: Contoh: 2021-09- 01 12 :30:45
  2. yyyy-MM-dd HH:mm:ss.SSS: Contoh: 2021-09-01 12:30:45.555
  3. yyyy/MM/dd HH: mm: ss: Contoh: 2021/09/01 12:30:45
  4. yyyy/MM/dd HH:mm:ss.SSS: Contoh: 2021/09/01 12:30:45.555

Dalam aplikasi praktikal, kami boleh memilih ungkapan biasa yang sepadan untuk mengesahkan format masa mengikut keperluan sebenar.

Berikut ialah contoh kod untuk pengesahan format masa yang ditulis dalam golang:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    timeStr := "2021-09-01 12:30:45"
    pattern := `^d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1]) (?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$`
    match, _ := regexp.MatchString(pattern, timeStr)
    if match {
        fmt.Println("时间格式正确")
    } else {
        fmt.Println("时间格式错误")
    }
}
Salin selepas log masuk

Dalam contoh kod di atas, kami mula-mula menentukan rentetan masa timeStr dan corak ungkapan biasa yang sepadan. Gunakan kaedah MatchString untuk pemadanan Jika perlawanan berjaya, "format masa adalah betul" adalah output, jika tidak "format masa tidak betul" adalah output.

Ringkasan

Pengesahan format masa ialah keperluan yang agak biasa, dan fungsi ini boleh dilaksanakan dengan mudah menggunakan ungkapan biasa dalam golang. Artikel ini memperkenalkan beberapa format masa biasa dan ungkapan biasa yang sepadan, dan menyediakan contoh kod golang saya harap ia akan membantu semua orang.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa untuk mengesahkan format masa dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan