Rumah >pembangunan bahagian belakang >Golang >Baris tepat dalam fail regex Golang

Baris tepat dalam fail regex Golang

WBOY
WBOYke hadapan
2024-02-08 21:06:301017semak imbas

Baris tepat dalam fail regex Golang

Golang ialah bahasa pengaturcaraan yang berkuasa dengan fungsi ekspresi biasa terbina dalam menyediakan kemudahan untuk memproses fail teks. Dalam Golang, ungkapan biasa boleh digunakan untuk memadankan dan mengekstrak baris tertentu dalam fail. Artikel oleh editor PHP Xiaoxin ini memperkenalkan pembaca kepada cara menggunakan fungsi ekspresi biasa Golang untuk memadankan baris dengan tepat dalam fail dan memberikan contoh kod sebenar. Dengan mempelajari artikel ini, pembaca akan dapat memahami dengan lebih baik dan menggunakan fungsi ungkapan biasa dalam Golang, serta meningkatkan kecekapan dan ketepatan pemprosesan fail.

Kandungan soalan

Saya mempunyai fail dengan kandungan berikut

# requires authentication with auth-user-pass
auth-user-pass
#auth-user-pass
# auth-user-pass
auth-user-passwd

Adakah terdapat cara untuk menjadikan regex hanya sepadan dengan baris kedua dengan golang?

Saya cuba menggunakan kod berikut tetapi ia mengembalikan kepingan kosong

package main

import (
    "fmt"
    "os"
    "regexp"
)

func main() {
    bytes, err := os.readfile("file.txt")
    if err != nil {
        panic(err)
    }

    re, _ := regexp.compile(`^auth-user-pass$`)
    matches := re.findallstring(string(bytes), -1)
    fmt.println(matches)
}
$ go run main.go
[]

Jawapan betul


Rentetan anda mengandungi berbilang baris, jadi anda harus menghidupkan mod berbilang baris (menggunakan bendera m):

Berikut ialah contoh mudah:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    var str = `# Requires authentication with auth-user-pass
auth-user-pass
#auth-user-pass
# auth-user-pass
auth-user-passwd`

    re, _ := regexp.Compile(`(?m)^auth-user-pass$`)
    matches := re.FindAllString(str, -1)
    fmt.Println(matches)
}

Anda boleh mencuba coretan kod ini di: https://www.php.cn/link/f4f4a06c589ea53edf4a9b18e70bbd40.

Atas ialah kandungan terperinci Baris tepat dalam fail regex Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam