Точная строка регулярного выражения Golang в файле

У меня есть файл с содержимым ниже

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

Есть ли способ, чтобы регулярное выражение соответствовало только второй строке с Golang?

Я пробовал со следующим кодом, но он возвращает пустой фрагмент

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
[]

Конечно, grep --help, man grep и info grep

Jetchisel 18.11.2022 17:08

Я просто отредактировал вопрос, чтобы было понятнее

Prasta Maha 18.11.2022 17:10
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
2
2
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша строка содержит несколько строк, поэтому вам следует включить многострочный режим (с флагом m):

Вот быстрый пример:

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)
}

Вы можете попробовать этот фрагмент на: https://play.golang.com/p/6au1_K2ImBt.

Другие вопросы по теме

Похожие вопросы