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

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

WBOY
WBOYasal
2023-06-24 12:37:37732semak imbas

Dengan perkembangan Internet, semakin banyak laman web, dan URL semakin pelbagai. Namun, bagi laman web penting seperti laman web korporat, pemilihan nama domain adalah sangat penting. Untuk meningkatkan keselamatan dan kestabilan tapak web, sesetengah syarikat memilih untuk menggunakan nama domain peringkat kesepuluh. Jadi, bagaimana untuk menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesepuluh? Artikel ini menerangkan caranya.

1. Apakah nama domain peringkat kesepuluh?

Di Internet, nama domain ialah cara untuk mengakses tapak web Apa yang biasa kita panggil nama domain ialah nama domain peringkat pertama dan kedua, seperti: baidu.com. Nama domain peringkat kesepuluh merujuk kepada penambahan lapan nama subdomain berdasarkan nama domain peringkat pertama dan kedua, contohnya: www.a.b.c.d.e.f.g.h.i.com.

2. Gunakan ungkapan biasa untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesepuluh

Anda boleh menggunakan ungkapan biasa untuk mengesahkan sama ada URL itu ialah nama domain peringkat kesepuluh. Dalam golang, kita boleh menggunakan pakej "regexp" untuk melaksanakan pengesahan ungkapan biasa. Pelaksanaan khusus adalah seperti berikut:

package main

import (
    "fmt"
    "regexp"
)

func verifyURL(url string) bool {
    format := `^(?:[a-z0-9]+.){9}[a-z]{2,4}$`
    match, _ := regexp.MatchString(format, url)
    return match
}

func main() {
    url1 := "www.a.b.c.d.e.f.g.h.i.com"
    url2 := "www.a.b.c.d.e.f.g.h.i.cn"
    url3 := "www.a.b.c.d.e.f.g.h.i.cn/index.html"
    fmt.Println(verifyURL(url1))  // true
    fmt.Println(verifyURL(url2))  // true
    fmt.Println(verifyURL(url3))  // false
}

Dalam kod di atas, kami menggunakan rentetan ungkapan biasa "^(?:[a-z0-9]+.){9}[a-z]{2,4}$" untuk sahkan alamat URL Sama ada nama domain peringkat kesepuluh. Antaranya, "^" mewakili permulaan rentetan, "(?:[a-z0-9]+.){9}" mewakili padanan satu atau lebih huruf atau nombor dan satu noktah, sekali gus memadankan 8 sub-aksara nama domain, dan akhirnya sepadan dengan nama domain peringkat atasan, iaitu "[a-z]{2,4}". Memandangkan ungkapan biasa ini sepadan dengan keseluruhan rentetan, menambah "(?:" pada permulaan menunjukkan bahawa hanya pengumpulan dilakukan tanpa padanan, dan akhirnya menambah "$" pada penghujung menunjukkan penghujung rentetan.

3. Nota Penting

Apabila menggunakan ungkapan biasa untuk mengesahkan sama ada alamat URL ialah nama domain peringkat kesepuluh, anda perlu memberi perhatian kepada perkara berikut:

  1. Anda perlu mengecualikan protokol dalam URL semasa pengesahan, contohnya: http:/ /www.a.b.c.d.e.f.g.h.i.com Anda perlu menggantikan "http ://" dan kemudian mengesahkan
  2. Pastikan anda mengambil kira keadaan khas, seperti URL yang mengandungi laluan atau simbol "@", dsb. Situasi ini tidak boleh. dianggap sebagai nama domain peringkat kesepuluh

4. Kesimpulan

Melalui pelaksanaan di atas, kita boleh menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL adalah nama domain peringkat kesepuluh juga menggunakan ungkapan biasa yang berbeza untuk pengesahan untuk jenis alamat URL yang berbeza Ia adalah alat yang berkuasa, sangat berguna apabila melaksanakan pengesahan rentetan, dan ia juga sangat mudah digunakan dalam golang

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