Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mencapai Fungsi Pandangan Di Belakang Negatif dalam Ungkapan Biasa Go?

Bagaimanakah Saya Boleh Mencapai Fungsi Pandangan Di Belakang Negatif dalam Ungkapan Biasa Go?

Susan Sarandon
Lepaskan: 2024-12-15 13:04:24
asal
410 orang telah melayarinya

How Can I Achieve Negative Lookbehind Functionality in Go Regular Expressions?

Menegakkan Pandang Belakang dalam Go: Penyelesaian

Dalam Go, pernyataan pandangan negatif di belakang tidak disokong kerana kebimbangan prestasi. Untuk mengatasi cabaran ini, anda boleh meneroka kaedah alternatif untuk mencapai kefungsian yang sama.

Rex asal bertujuan untuk mengekstrak arahan yang tidak bermula dengan @, # atau / aksara. Berikut ialah dua pilihan:

1. Set Aksara Nafis:

Alih keluar pandangan negatif di belakang dan gantikannya dengan set aksara yang dinafikan.

\b[^@#/]\w.*
Salin selepas log masuk

Jika dibenarkan pada permulaan rentetan, sauhkannya dengan ^

(?:^|[^@#\/])\b\w.*
Salin selepas log masuk

2. Fungsi Penapis:

Laksanakan fungsi penapis yang mengalih keluar perkataan yang bermula dengan aksara tertentu.

func Filter(vs []string, f func(string) bool) []string {
    vsf := make([]string, 0)
    for _, v := range vs {
        if f(v) {
            vsf = append(vsf, v)
        }
    }
    return vsf
}
Salin selepas log masuk

Gunakan fungsi penapis dalam fungsi Proses untuk memproses teks input.

func Process(inp string) string {
    t := strings.Split(inp, " ")
    t = Filter(t, func(x string) bool {
        return strings.Index(x, "#") != 0 &&
            strings.Index(x, "@") != 0 &&
            strings.Index(x, "/") != 0
    })
    return strings.Join(t, " ")
}
Salin selepas log masuk

Penyelesaian ini menawarkan alternatif kepada pandangan negatif di belakang dalam Go, memastikan pemprosesan regex yang cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Fungsi Pandangan Di Belakang Negatif dalam Ungkapan Biasa Go?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan