Apabila menulis aplikasi Golang, selalunya perlu untuk mengesahkan alamat URL. Dalam proses ini, ungkapan biasa boleh menjadi alat yang sangat berguna yang boleh membantu menyemak ketepatan alamat URL dengan berkesan.
Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk mengesahkan sama ada alamat URL ialah nama domain peringkat ketiga.
1. Fahami pengetahuan asas ungkapan biasa
Ungkapan biasa ialah bahasa yang digunakan untuk menerangkan corak teks. Dalam ungkapan biasa Golang, beberapa simbol biasa dan kaedah perwakilan termasuk:
2 Tulis ungkapan biasa untuk memadankan alamat URL nama domain peringkat ketiga
Mari kita tulis ungkapan biasa untuk memadankan alamat URL nama domain peringkat ketiga. . Nama domain peringkat ketiga merujuk kepada tiga bahagian dalam bahagian nama hos (nama hos) URL. Contohnya: www.example.com, blog.example.com, dsb.
^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+) $
Analisis:
1 ^ mewakili permulaan rentetan
2 (www.)? a-zA-Z0-9]+) mewakili bahagian pertama daripada nama domain peringkat ketiga; nama domain peringkat ketiga Bahagian kedua dalam
6, .
8, $ mewakili Padanan dengan hujung rentetan.
3. Gunakan ungkapan biasa untuk mengesahkan alamat URL di Golang
Menggunakan ungkapan biasa dalam Golang memerlukan pakej "regexp". Pakej ini menyediakan fungsi "MatchString", yang boleh digunakan untuk memadankan ungkapan biasa.
Berikut ialah contoh program Golang lengkap yang menunjukkan cara menggunakan ungkapan biasa untuk mengesahkan sama ada alamat URL ialah nama domain peringkat ketiga.
package main import ( "fmt" "regexp" ) func main() { url := "www.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "blog.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } } func matchUrl(url string) bool { re := regexp.MustCompile(`^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+)$`) return re.MatchString(url) }
Dalam program di atas, kami mula-mula menentukan alamat URL. Kemudian panggil fungsi "matchUrl", menghantar alamat URL sebagai parameter.
Dalam fungsi " matchUrl ", kami menggunakan fungsi " regexp.MustCompile " untuk menyusun ungkapan biasa. Kemudian gunakan fungsi " re.MatchString " untuk memadankan sama ada alamat URL memenuhi keperluan ungkapan biasa. Fungsi mengembalikan benar jika perlawanan berjaya, palsu sebaliknya.
Seperti yang anda lihat, dalam contoh program di atas, kami mengesahkan tiga alamat URL www.example.com, blog.example.com dan example.com masing-masing hanya dua yang pertama sepadan dengan peringkat ketiga keperluan nama domain, jadi hasil keluarannya ialah:
www.example.com 是三级域名 blog.example.com 是三级域名 example.com 不是三级域名
Ringkasan:
Tidak sukar untuk menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat ketiga. Hanya tulis ungkapan biasa yang memenuhi syarat, dan kemudian padankannya melalui fungsi yang disediakan dalam pakej "regexp".
Saya harap pengenalan dalam artikel ini dapat membantu anda!
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada alamat URL ialah nama domain peringkat ketiga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!