Rumah >pembangunan bahagian belakang >Golang >Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah alamat URL lengkap

Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah alamat URL lengkap

PHPz
PHPzasal
2023-06-24 13:30:101592semak imbas

Dalam golang, adalah sangat penting untuk menggunakan ungkapan biasa untuk mengesahkan sama ada input ialah alamat URL yang lengkap. Ungkapan biasa ialah bahasa deskriptif yang boleh digunakan untuk memadankan corak teks dalam rentetan. Apabila kami perlu mengesahkan sama ada input mematuhi format tertentu, ungkapan biasa boleh membantu kami menentukan dengan cepat sama ada input itu betul. Jadi bagaimana untuk menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input adalah alamat URL lengkap? Artikel ini akan menerangkannya kepada anda.

Pertama sekali, kita perlu memahami format asas alamat URL URL mengandungi bahagian berikut:

  • Protokol: (seperti http, ftp, mailto).
  • Nama hos: (cth. www.example.com).
  • Nombor port: (cth. 80).
  • Laluan: (contohnya /index.html).
  • Rentetan pertanyaan: (contohnya?id=1&name=Tom).
  • Coretan: (cth. #atas).

Dalam bahagian ini, protokol dan nama hos adalah wajib. Oleh itu, kita boleh menggunakan ungkapan biasa untuk mengesahkan sama ada rentetan input mengandungi dua bahagian ini. Kita boleh menggunakan regexp pakej ungkapan biasa terbina dalam golang untuk memadankan sama ada rentetan input sepadan dengan format yang kita mahu.

Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "https://www.example.com/index.html?id=1&name=Tom#top"
    pattern := `^(http|https)://[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+([a-zA-Z0-9-._?,'+/\~:#[]@!$&*])*$`

    match, err := regexp.MatchString(pattern, str)
    if err != nil {
        fmt.Printf("Error: %s
", err)
        return
    }

    if match {
        fmt.Println("Valid URL")
    } else {
        fmt.Println("Invalid URL")
    }
}

Dalam kod ini, kami menggunakan ungkapan biasa^(http|https)://[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+([a-zA-Z0-9-._?,'+/~:#[]@!$&*])*$去匹配输入字符串。其中,^表示字符串开始,$表示字符串结尾,http|https表示匹配http或https协议,[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+表示匹配主机名,[a-zA-Z0-9-._?,'+/~:#[]@!$&*] untuk memadankan bahagian lain dalam URL, seperti laluan, rentetan pertanyaan, serpihan, dsb.

Apabila perlawanan berjaya, keluarkan "URL Sah", jika tidak, keluarkan "URL Tidak Sah".

Perlu diambil perhatian bahawa ungkapan biasa ini hanya mengesahkan sama ada format URL adalah betul, tetapi tidak mengesahkan kewujudan URL tersebut. Jika anda perlu mengesahkan kewujudan URL, anda perlu menggunakan kaedah lain.

Ringkasnya, dengan menggunakan ungkapan biasa untuk mengesahkan sama ada input ialah alamat URL yang lengkap, ia boleh membantu kami menentukan dengan cepat sama ada input itu mematuhi format tertentu. Dalam golang, sangat mudah untuk menggunakan pakej regexp untuk mengesahkan ungkapan biasa, hanya gunakan fungsi MatchString.

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