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, <div>
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:
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!