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

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

WBOY
WBOYasal
2023-06-24 08:06:554271semak imbas

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:

  1. " mewakili sebarang aksara.
  2. "*" bermaksud memadankan aksara atau ungkapan sebelumnya sifar atau lebih kali.
  3. "+" bermaksud memadankan watak atau ungkapan sebelumnya satu kali atau lebih.
  4. "?" bermaksud memadankan aksara atau ungkapan sebelumnya atau satu masa.
  5. "d" mewakili nombor.
  6. "w" mewakili sebarang aksara perkataan, termasuk huruf, nombor dan garis bawah.

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!

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