Petua ungkapan biasa bahasa Go: cara memadankan rentetan panjang tetap

PHPz
Lepaskan: 2023-07-12 12:03:24
asal
1531 orang telah melayarinya

Go Language Petua Ungkapan Biasa: Cara Memadankan Rentetan Panjang Tetap

Ekspresi biasa ialah alat pemadanan corak teks yang berkuasa yang boleh digunakan dalam pelbagai bahasa pengaturcaraan. Dalam bahasa Go, ungkapan biasa juga digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan rentetan panjang tetap dan menunjukkannya dengan contoh kod.

Dalam ungkapan biasa, anda boleh menggunakan pengkuantiti untuk menentukan bilangan padanan. Contohnya, "d{4}" boleh digunakan untuk memadankan 4 digit dan "w{5}" boleh digunakan untuk memadankan 5 aksara.

Berikut ialah contoh mudah untuk memadankan rentetan 4 digit:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    s := "1234"
    r := regexp.MustCompile(`^d{4}$`)
    if r.MatchString(s) {
        fmt.Println("匹配成功")
    } else {
        fmt.Println("匹配失败")
    }
}
Salin selepas log masuk

Dalam contoh di atas, ungkapan biasa ^d{4}$ digunakan untuk memadankan rentetan Permulaan dan penghujung, dan rentetan mesti mengandungi tepat 4 digit. Jika perlawanan berjaya, "match successful" akan dikeluarkan, jika tidak "match failed" akan dikeluarkan. ^d{4}$用于匹配字符串的开头和结尾,并且要求字符串必须恰好包含4位数字。如果匹配成功,就会输出"匹配成功",否则输出"匹配失败"。

除了匹配数字的例子,我们还可以使用正则表达式来匹配其他固定长度的字符串。下面是一个匹配5个字母的字符串的示例:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    s := "abcde"
    r := regexp.MustCompile(`^[a-zA-Z]{5}$`)
    if r.MatchString(s) {
        fmt.Println("匹配成功")
    } else {
        fmt.Println("匹配失败")
    }
}
Salin selepas log masuk

在上面的示例中,正则表达式^[a-zA-Z]{5}$

Selain contoh padanan nombor, kita juga boleh menggunakan ungkapan biasa untuk memadankan rentetan panjang tetap yang lain. Berikut ialah contoh padanan rentetan 5 huruf:

rrreee

Dalam contoh di atas, ungkapan biasa ^[a-zA-Z]{5}$ digunakan untuk memadankan rentetan Permulaan dan akhir, dan rentetan mesti mengandungi tepat 5 huruf. Begitu juga, jika perlawanan berjaya, "Kejayaan Padanan" adalah output, jika tidak, "Padanan Gagal" adalah output.

Perlu diingatkan bahawa aksara khas dalam ungkapan biasa perlu dilarikan menggunakan simbol melarikan diri "". Contohnya, untuk memadankan titik, anda perlu menggunakan "" untuk melepaskannya, iaitu, "."

Apabila menggunakan ungkapan biasa untuk memadankan rentetan panjang tetap, anda juga boleh menggabungkan aksara meta dan kelas aksara lain untuk mencapai corak padanan yang lebih kompleks. Contohnya, anda boleh menggunakan "^d{2}-d{2}-d{4}$" untuk memadankan format tarikh "01-01-2022", dengan "d" mewakili nombor.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan ungkapan biasa untuk memadankan rentetan panjang tetap dan menunjukkannya dengan contoh kod. Dengan mempelajari asas ungkapan biasa, kami boleh menangani masalah padanan rentetan dengan lebih fleksibel.

Perlu dinyatakan bahawa walaupun ungkapan biasa berkuasa, ia mungkin mempunyai masalah prestasi apabila memproses sejumlah besar data. Dalam aplikasi sebenar, anda boleh memilih untuk menggunakan ungkapan biasa atau kaedah pemadanan rentetan lain yang lebih cekap mengikut keperluan anda. 🎜🎜Saya harap artikel ini akan membantu anda mempelajari dan menggunakan ungkapan biasa dalam bahasa Go! 🎜

Atas ialah kandungan terperinci Petua ungkapan biasa bahasa Go: cara memadankan rentetan panjang tetap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!