Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mensimulasikan Pandangan Negatif di Sebalik Penegasan dalam Ungkapan Biasa Go?

Bagaimanakah Saya Boleh Mensimulasikan Pandangan Negatif di Sebalik Penegasan dalam Ungkapan Biasa Go?

Susan Sarandon
Lepaskan: 2024-12-01 00:35:12
asal
372 orang telah melayarinya

How Can I Simulate Negative Lookbehind Assertions in Go Regular Expressions?

Mensimulasikan Pandangan Negatif di Belakang dalam Go

Reeks asal anda, yang menampilkan pandangan negatif di belakang penegasan, bertujuan untuk mengeluarkan arahan tanpa sebarang @, #, atau / aksara. Walau bagaimanapun, Go tidak menyokong pandangan negatif di belakang, menimbulkan halangan dalam melaksanakan corak ini.

Menulis Semula Regex

Untuk mencapai fungsi yang sama tanpa pandangan negatif, kita boleh menggantikan aksara yang akan dikecualikan dalam set aksara:

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

Jika arahan tidak dibenarkan bermula dengan aksara ini, kita boleh menggunakan ^ sauh untuk menguatkuasakan syarat ini:

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

Pendekatan Alternatif Menggunakan Fungsi Go

Sebagai alternatif, pertimbangkan untuk menggunakan fungsi Go untuk menapis dan proses rentetan input:

func Filter(vs []string, f func(string) bool) []string { ... }

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

Pendekatan ini memanfaatkan fungsi penapis untuk mengecualikan perkataan bermula dengan yang ditentukan aksara, kemudian mencantumkan perkataan yang tinggal kembali ke dalam rentetan baharu. Anda boleh menemui demonstrasi yang berfungsi di taman permainan Go di http://play.golang.org/p/ntJRNxJTxo.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Pandangan Negatif di Sebalik Penegasan 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