Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada rentetan ialah nombor

Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada rentetan ialah nombor

PHPz
PHPzasal
2023-06-24 09:11:161814semak imbas

Dalam golang, ungkapan biasa boleh digunakan untuk mengesahkan sama ada rentetan ialah nombor dengan mudah. Mari perkenalkan cara menggunakan ungkapan biasa untuk pengesahan berangka dalam golang.

Pertama, kita perlu mengimport pakej ekspresi biasa yang berkaitan, iaitu pakej regexp. Dalam golang, pakej regexp menyediakan fungsi MatchString, yang boleh digunakan untuk mengesahkan sama ada rentetan mematuhi peraturan ungkapan biasa tertentu.

Seterusnya, kita perlu menulis ungkapan biasa untuk pengesahan berangka. Dalam golang, nombor boleh menjadi integer atau nombor titik terapung, jadi kita perlu menulis dua ungkapan biasa untuk mengesahkan integer dan nombor titik terapung masing-masing.

Ungkapan biasa untuk mengesahkan integer:

^[0-9]+$

Maksud ungkapan biasa ini ialah ia bermula dengan nombor 0-9, mengandungi satu atau lebih nombor 0-9 di tengah dan berakhir dengan nombor 0 -9 berakhir. Ungkapan biasa ini boleh mengesahkan sama ada rentetan ialah integer.

Ungkapan biasa untuk mengesahkan nombor titik terapung:

^[0-9]+(.[0-9]+)?$

Maksud ungkapan biasa ini ialah ia bermula dengan nombor 0-9, mengandungi 1 atau lebih nombor 0-9 di tengah, dan kemudian mungkin Titik perpuluhan "." muncul, diikuti dengan satu atau lebih digit 0-9, dan akhirnya berakhir dengan digit 0-9. Ungkapan biasa ini boleh mengesahkan sama ada rentetan ialah nombor titik terapung.

Sekarang, mari lihat cara menggunakan dua ungkapan biasa ini untuk pengesahan nombor dalam golang:

package main

import (
    "fmt"
    "regexp"
)

func isNumber(str string) bool {
    // 整数的正则表达式
    integerPattern := "^[0-9]+$"

    // 浮点数的正则表达式
    floatPattern := "^[0-9]+(\.[0-9]+)?$"

    match, _ := regexp.MatchString(integerPattern, str)
    if match {
        return true
    }

    match, _ = regexp.MatchString(floatPattern, str)
    if match {
        return true
    }

    return false
}

func main() {
    fmt.Println(isNumber("123"))    // true
    fmt.Println(isNumber("12.3"))   // true
    fmt.Println(isNumber("abc"))    // false
    fmt.Println(isNumber("1a2b3c")) // false
}

Dalam kod di atas, kami telah menulis fungsi isNumber untuk pengesahan pengesahan nombor. Fungsi ini menerima rentetan sebagai parameter, dan kemudian menggunakan ungkapan biasa integer dan ungkapan biasa titik terapung untuk mengesahkan sama ada rentetan itu ialah nombor. Jika pengesahan berjaya, ia mengembalikan benar, jika tidak ia mengembalikan palsu.

Akhir sekali, dalam fungsi utama, kami memanggil fungsi isNumber untuk mengesahkan sama ada beberapa rentetan ialah nombor. Seperti yang anda lihat, jika rentetan input ialah nombor, hasil pulangan fungsi adalah benar, jika tidak ia adalah palsu.

Dalam pembangunan sebenar, pengesahan digital adalah operasi yang sangat biasa. Menggunakan ungkapan biasa memudahkan kami melakukan pengesahan berangka. Di atas ialah pengenalan menggunakan ungkapan biasa untuk mengesahkan sama ada rentetan ialah nombor dalam golang.

Atas ialah kandungan terperinci Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada rentetan ialah nombor. 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