Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk mengekstrak semua subrentetan yang disertakan dalam pendakap kerinting menggunakan regex Go?

Bagaimana untuk mengekstrak semua subrentetan yang disertakan dalam pendakap kerinting menggunakan regex Go?

Susan Sarandon
Lepaskan: 2024-12-25 09:56:31
asal
876 orang telah melayarinya

How to Extract All Substrings Enclosed in Curly Braces Using Go's Regex?

Mencari Semua Padanan Rentetan Menggunakan Regex dalam Go

Apabila bekerja dengan rentetan dalam Go, selalunya perlu mencari corak atau subrentetan tertentu. Ungkapan biasa menawarkan cara yang berkesan untuk memadankan dan memanipulasi teks. Satu tugas biasa ialah mencari semua padanan corak tertentu dan menyimpannya dalam kepingan atau tatasusunan.

Pernyataan Masalah:

Diberi rentetan yang mengandungi pendakap kerinting yang melampirkan subrentetan , matlamatnya adalah untuk mengekstrak semua subrentetan antara pendakap dan mengembalikannya sebagai tatasusunan. Contohnya, diberikan rentetan:

{city}, {state} {zip}
Salin selepas log masuk

Kita perlu mengembalikan tatasusunan mengandungi:

  • {city}
  • {negeri}
  • {zip}

Penyelesaian:

Untuk mencapai matlamat ini, kami boleh menggunakan pakej regexp Go. Walau bagaimanapun, terdapat beberapa perkara penting yang perlu diberi perhatian semasa mentakrifkan ungkapan biasa:

  • Elak Pembatas Regex: Dalam Go, ungkapan biasa tidak disertakan dalam garis miring ke hadapan (/) oleh lalai.
  • Gunakan Raw String Literal: Apabila mentakrifkan corak regex yang kompleks, adalah dinasihatkan untuk menggunakan literal rentetan mentah (diawali dengan kutu belakang ``) untuk melepaskan aksara khas dengan satu garis miring ke belakang.
  • Menangkap Kumpulan: Menangkap kumpulan boleh digunakan untuk mengekstrak bahagian tertentu pada perlawanan . Walau bagaimanapun, untuk masalah ini, kami boleh memudahkan ungkapan biasa dan mengelak daripada menggunakannya.

Berikut ialah kod Go yang dikemas kini:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "{city}, {state} {zip}"

    // Define the regular expression pattern
    r := regexp.MustCompile(`{[^{}]*}`)

    // Find all matches
    matches := r.FindAllString(str, -1)

    // Print the matches
    for _, match := range matches {
        fmt.Println(match)
    }
}
Salin selepas log masuk

Pecahan Regex:

  • {[^{}]*}: Padan dengan mana-mana subrentetan yang disertakan dalam kerinting pendakap.

Output:

  • {city}
    {state}
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak semua subrentetan yang disertakan dalam pendakap kerinting menggunakan regex 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