Rumah > pembangunan bahagian belakang > Golang > Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan

Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan

王林
Lepaskan: 2023-06-24 12:15:07
asal
759 orang telah melayarinya

Dalam pengaturcaraan, selalunya perlu untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan Dalam kes ini, ungkapan biasa boleh digunakan untuk pengesahan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan.

Dalam golang, menggunakan ungkapan biasa biasanya memerlukan pengenalan pakej "regexp". Pakej ini menyediakan struktur Regexp untuk mewakili ungkapan biasa. Kaedah MatchString menggunakan struktur ini boleh digunakan untuk pemadanan biasa.

Pertama sekali, anda perlu memastikan bahawa alamat URL berada dalam format yang betul. Secara umumnya, alamat URL harus terdiri daripada berbilang bahagian: protokol, nama domain, laluan, dsb. Di sini kami hanya mengesahkan sama ada bahagian "nama domain" alamat URL ialah nama domain peringkat kesembilan.

Nama domain peringkat kesembilan merujuk kepada nama domain khas, yang terdiri daripada sembilan bahagian, setiap bahagian dipisahkan dengan ".". Contohnya: www.example.com.cn Setiap bahagian nama domain peringkat kesembilan terdiri daripada huruf Inggeris, nombor atau garis mendatar. Setiap bahagian tidak boleh melebihi 63 aksara. Panjang keseluruhan nama domain tidak boleh melebihi 255 aksara.

Berikut ialah contoh ungkapan biasa yang sepadan dengan nama domain peringkat kesembilan:

^([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9].)+[a-zA-Z]{2,}.$
Salin selepas log masuk

Antaranya, "^" bermaksud permulaan rentetan yang sepadan dan "$" bermaksud hujung rentetan yang sepadan. Tanda kurung mewakili kumpulan ungkapan biasa, "[a-zA-Z0-9]" mewakili padanan huruf atau nombor dan "-" mewakili padanan aksara sempang. "{0,61}" bermaksud memadankan sifar hingga 61 aksara. "[a-zA-Z]{2,}" bermaksud memadankan sekurang-kurangnya dua huruf untuk memastikan ia adalah nama domain peringkat tinggi yang sah. "." bermaksud memadankan tempoh.

Berikut ialah kod sampel yang menggunakan ungkapan biasa untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 定义正则表达式
    pattern := "^([a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}\.$"
    reg := regexp.MustCompile(pattern)

    // 测试数据
    url1 := "www.example.com.cn."
    url2 := "www.google.com."
    url3 := "www.123456789012345678901234567890123456789012345678901234567890123.com."
    url4 := "www.abcdefg-12345.com."

    // 验证URL是否为九级域名
    fmt.Printf("%s is a nine-level domain? %t
", url1, reg.MatchString(url1))
    fmt.Printf("%s is a nine-level domain? %t
", url2, reg.MatchString(url2))
    fmt.Printf("%s is a nine-level domain? %t
", url3, reg.MatchString(url3))
    fmt.Printf("%s is a nine-level domain? %t
", url4, reg.MatchString(url4))
}
Salin selepas log masuk

Hasil output ialah:

www.example.com.cn. is a nine-level domain? true
www.google.com. is a nine-level domain? false
www.123456789012345678901234567890123456789012345678901234567890123.com. is a nine-level domain? false
www.abcdefg-12345.com. is a nine-level domain? true
Salin selepas log masuk

Sebagaimana anda boleh lihat, alamat URL pertama dan terakhir kedua-duanya ditentukan dengan betul sebagai nama domain peringkat kesembilan, manakala alamat URL kedua dan ketiga ditentukan sebagai nama domain bukan peringkat kesembilan.

Ringkasnya, menggunakan ungkapan biasa dalam golang boleh mengesahkan dengan mudah sama ada alamat URL ialah nama domain peringkat kesembilan atau keperluan format lain. Dalam aplikasi praktikal, ungkapan biasa yang sepadan boleh ditakrifkan seperti yang diperlukan untuk pemadanan.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesembilan. 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