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

PHPz
Lepaskan: 2023-06-24 13:30:10
asal
1509 orang telah melayarinya

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")
    }
}
Salin selepas log masuk

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!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!