Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML

Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML

WBOY
WBOYasal
2023-06-24 09:34:17804semak imbas

Golang ialah bahasa pengaturcaraan yang cekap dan berkuasa yang menyokong penggunaan ungkapan biasa untuk mengesahkan dengan mudah sama ada input pengguna mematuhi spesifikasi dan keperluan keselamatan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML.

Pertama, kita perlu memahami konsep asas teg dan atribut HTML. HTML ialah bahasa penanda yang digunakan untuk membuat halaman web Ia terdiri daripada pelbagai tag dan atribut digunakan untuk menerangkan struktur dan kandungan dokumen, dan atribut digunakan untuk menerangkan sifat tag.

Sebagai contoh, berikut ialah contoh teg HTML ringkas dan atribut:

<div class="container"></div>

Di mana, dc6dce4a544fdca2df29d5ac0ea9906b ialah teg HTML, class ialah nama atributnya dan container ialah nilai atributnya. Sebelum menggunakan ungkapan biasa untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML, kita perlu memahami penggunaan asas ungkapan biasa.

Ungkapan biasa dalam Golang dilaksanakan menggunakan pakej regexp Penggunaan asasnya adalah seperti berikut:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile("hello")
    fmt.Println(re.MatchString("hello world")) // true
    fmt.Println(re.MatchString("world")) // false
}

Dalam contoh di atas, objek ungkapan biasa dibuat menggunakan fungsi regexp.MustCompile. , dan kemudian gunakan kaedah MatchString untuk memadankan rentetan. Jika padanan rentetan berjaya, true dikembalikan, jika tidak false dikembalikan.

Apabila menggunakan ungkapan biasa untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML, kita perlu memadankan dua situasi berikut:

  1. Nilai atribut dipetik (tunggal atau petikan berganda ) dikelilingi.
  2. Nilai atribut tidak dikelilingi oleh petikan.

Untuk kes pertama, kita boleh menggunakan ungkapan biasa berikut:

"[^"]*"

Ungkapan biasa ini boleh memadankan semua rentetan yang dikelilingi oleh petikan berganda. [^"]* bermaksud sepadan dengan sebarang bilangan aksara petikan bukan berganda. Memandangkan petikan berganda juga merupakan aksara khas dalam ungkapan biasa, ia perlu dilepaskan sebagai ". Kod sampel lengkap adalah seperti berikut:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`"([^"]*)"`)
    fmt.Println(re.MatchString(`class="container"`)) // true
    fmt.Println(re.MatchString(`class='container'`)) // false
    fmt.Println(re.MatchString(`class=container`)) // false
}

Dalam contoh di atas, menggunakan " untuk mencipta objek ungkapan biasa sahaja boleh menyebabkan ralat penghuraian, jadi kami menggunakan ` untuk mengelilingi ungkapan biasa. Gunakan kaedah re.MatchString untuk mengesahkan sama ada rentetan itu sepadan dengan ungkapan biasa Jika ya, ia akan kembali true, jika tidak ia akan kembali false.

Untuk kes kedua, kita perlu menggunakan ungkapan biasa berikut:

[^ "]+

Ungkapan biasa ini boleh memadankan sebarang bilangan aksara bukan ruang, iaitu, nilai atribut yang dikelilingi oleh bukan -petikan. Dalam ungkapan biasa, [^ ] bermaksud memadankan mana-mana aksara bukan ruang dan + bermaksud memadankan satu atau lebih masa. Jika nilai atribut mengandungi ruang, padanan tidak akan berjaya. Kod sampel lengkap adalah seperti berikut:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`[^ "]+`)
    fmt.Println(re.MatchString(`class="container"`)) // false
    fmt.Println(re.MatchString(`class='container'`)) // false
    fmt.Println(re.MatchString(`class=container`)) // true
}

Apabila menggunakan ungkapan biasa untuk mengesahkan input, anda perlu memberi perhatian kepada aksara khas dan aksara melarikan diri bagi ungkapan biasa. Apabila menulis ungkapan biasa, anda boleh menggunakan alat dalam talian untuk menguji dan menyahpepijatnya bagi memastikan ketepatan dan prestasi ungkapan biasa.

Ringkasnya, artikel ini memperkenalkan cara menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML. Dalam pembangunan sebenar, ungkapan biasa yang sesuai boleh digunakan untuk mengesahkan input pengguna seperti yang diperlukan untuk memastikan keselamatan dan kebolehpercayaan aplikasi.

Atas ialah kandungan terperinci Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah nilai atribut dalam teg HTML. 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