Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang?

PHPz
Lepaskan: 2024-06-06 10:51:00
asal
808 orang telah melayarinya

Fungsi FindStringSubmatch mencari subrentetan pertama dipadankan dengan ungkapan biasa: fungsi ini mengembalikan hirisan yang mengandungi subrentetan yang sepadan, dengan elemen pertama ialah keseluruhan rentetan dipadankan dan elemen berikutnya ialah subrentetan individu. Contoh kod: regexp.FindStringSubmatch(teks, corak) mengembalikan sekeping subrentetan yang sepadan. Kes praktikal: Ia boleh digunakan untuk memadankan nama domain dalam alamat e-mel, contohnya: e-mel := "user@example.com", corak := @([^s]+)$ untuk mendapatkan padanan nama domain[ 1].

如何找出 Golang 正则表达式匹配的第一个子字符串?

Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang?

Apabila berurusan dengan padanan ungkapan biasa dalam bahasa Go, kita boleh menggunakan fungsi FindStringSubmatch untuk mencari subrentetan padanan pertama. Fungsi ini mengembalikan kepingan yang mengandungi subrentetan yang sepadan. Elemen pertama ialah keseluruhan rentetan yang dipadankan, manakala elemen berikutnya ialah subrentetan individu pada perlawanan itu. FindStringSubmatch 函数来找出匹配的第一个子字符串。该函数返回一个包含匹配子字符串的切片。第一个元素是整个匹配字符串,而随后的元素是匹配的各个子字符串。

代码示例:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 定义要匹配的文本和正则表达式模式
    text := "This is a sample text to match."
    pattern := `is`

    // 使用 FindStringSubmatch 找出匹配的第一个子字符串
    match := regexp.FindStringSubmatch(text, pattern)

    // 输出匹配的子字符串
    if len(match) > 0 {
        fmt.Println("匹配的子字符串:", match[0])
    } else {
        fmt.Println("未找到匹配")
    }
}
Salin selepas log masuk

实战案例:

使用 FindStringSubmatch

Contoh kod:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 定义要匹配的电子邮件地址
    email := "user@example.com"

    // 定义用于匹配域名的正则表达式模式
    pattern := `@([^\s]+)$`

    // 使用 FindStringSubmatch 找出匹配的第一个子字符串(域名)
    match := regexp.FindStringSubmatch(email, pattern)

    // 输出匹配的域名
    if len(match) > 0 {
        fmt.Println("域名:", match[1])
    } else {
        fmt.Println("未找到匹配")
    }
}
Salin selepas log masuk

Contoh praktikal:🎜🎜Menggunakan FindStringSubmatch untuk memadankan nama domain dalam alamat e-mel: 🎜
域名: example.com
Salin selepas log masuk
🎜Di Atas Kod akan mengeluarkan: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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