Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan sama ada kata laluan mengandungi ruang menggunakan ungkapan biasa dalam golang

Bagaimana untuk mengesahkan sama ada kata laluan mengandungi ruang menggunakan ungkapan biasa dalam golang

WBOY
WBOYasal
2023-06-24 11:34:391468semak imbas

Dalam golang, ungkapan biasa ialah alat yang sangat berkuasa yang boleh digunakan untuk mengesan sama ada rentetan sepadan dengan corak tertentu. Apabila mengesahkan kata laluan, keperluan biasa ialah kata laluan tidak boleh mengandungi ruang. Jadi, bagaimana untuk menggunakan ungkapan biasa dalam golang untuk mengesan sama ada kata laluan mengandungi ruang? Artikel ini akan memperkenalkannya kepada anda secara terperinci.

1. Gambaran keseluruhan ungkapan biasa

Ungkapan biasa ialah bahasa yang digunakan untuk memadankan rentetan dengan cepat. Dalam golang, fungsi pemadanan ungkapan biasa boleh dilaksanakan dengan menggunakan pakej "regexp" dalam perpustakaan standard. Pakej ini menyediakan fungsi dan jenis untuk membina dan memadankan ungkapan biasa.

Dalam golang, sintaks ungkapan biasa adalah lebih kurang sama dengan bahasa lain Metakarakter biasa adalah seperti berikut:

  • (): digunakan untuk mengumpulkan, pengendali boleh. menjadi keutamaan yang diubah suai.
  • []: digunakan untuk menerangkan set aksara.
  • {}: Digunakan untuk menerangkan bilangan ulangan Contohnya, {1,3} bermaksud aksara yang sepadan diulang 1 hingga 3 kali.
  • *: Memadankan aksara sebelumnya 0 kali atau lebih.
  • +: Memadankan watak sebelumnya 1 kali atau lebih.
  • ?: Memadankan aksara sebelumnya 0 atau 1 kali.
  • .: Boleh memadankan mana-mana aksara (kecuali baris baharu).
  • d: Memadankan mana-mana aksara angka, bersamaan dengan [0-9].
  • D: Memadankan mana-mana aksara bukan angka, bersamaan dengan 1.
  • w: Memadankan mana-mana aksara abjad atau angka, bersamaan dengan [a-zA-Z0-9_].
  • W: sepadan dengan mana-mana aksara bukan huruf atau angka, bersamaan dengan 2.
  • s: sepadan dengan mana-mana aksara ruang (termasuk ruang, tab, pemulangan kereta, dll.), bersamaan dengan [
    ].
  • S: Padan dengan mana-mana aksara bukan ruang.

2 Sahkan sama ada kata laluan mengandungi ruang

Sekarang, kami cuba menggunakan ungkapan biasa untuk mengesahkan sama ada kata laluan mengandungi ruang. Dengan mengandaikan bahawa kami telah memperoleh kata laluan yang dimasukkan oleh pengguna, kami boleh menggunakan kaedah berikut untuk mengesahkannya:

package main

import (
    "fmt"
    "regexp"
)

func checkPassword(password string) bool {
    pattern := `^[^s]+$` // 定义正则表达式
    matched, err := regexp.MatchString(pattern, password) // 匹配字符串
    if err != nil {
        // 这里处理匹配错误的情况
    }
    return matched
}

func main() {
    password := "abc123" // 测试用例1,不包含空格,应返回true
    fmt.Println(checkPassword(password)) // 输出true

    password = "abc 123" // 测试用例2,包含空格,应返回false
    fmt.Println(checkPassword(password)) // 输出false
}

Dalam contoh di atas, kami menentukan fungsi bernama "checkPassword", yang menerima jenis rentetan Parameter "kata laluan" digunakan untuk mengesahkan sama ada kata laluan memenuhi keperluan. Pembolehubah bernama "corak" ditakrifkan dalam fungsi untuk menyimpan ungkapan biasa yang ingin kita padankan, iaitu, "^3+$". Maksud ungkapan biasa ini ialah: rentetan mesti bermula dengan aksara bukan ruang putih, berakhir dengan aksara bukan ruang putih dan rentetan tidak boleh mengandungi sebarang aksara ruang putih.

Dalam fungsi, kami mula-mula menggunakan fungsi "regexp.MatchString" untuk memadankan rentetan "kata laluan" yang akan dikesan dan ungkapan biasa "corak". Mengembalikan benar jika perlawanan berjaya, palsu sebaliknya. Perlu diingatkan bahawa jika ralat berlaku semasa proses pemadanan, objek ralat bukan nol akan dikembalikan. Oleh itu, kami memerlukan pengendalian ralat dalam kod.

Dalam fungsi utama, kami menulis dua kes ujian, satu mengandungi ruang dan satu tidak mengandungi ruang. Selepas menjalankan program, anda dapat melihat bahawa output adalah seperti yang diharapkan.

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada kata laluan mengandungi ruang. Dengan menggunakan ungkapan biasa, kita boleh mengesan dengan mudah sama ada rentetan sepadan dengan corak tertentu. Dalam golang, perpustakaan standard menyediakan pakej yang dipanggil "regexp" untuk membantu pembangun membina dan memadankan ungkapan biasa. Menggunakan pakej ini, kami boleh melaksanakan fungsi pemadanan rentetan dengan cepat untuk mencapai pelbagai keperluan pengesahan.


  1. 0-9
  2. a-zA-Z0-9_
  3. s

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada kata laluan mengandungi ruang menggunakan ungkapan biasa dalam golang. 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