为了账号安全,请及时绑定邮箱和手机立即绑定

文件中的 Golang 正则表达式精确行

文件中的 Golang 正则表达式精确行

Go
缥缈止盈 2023-03-15 15:29:24
我有一个包含以下内容的文件# Requires authentication with auth-user-passauth-user-pass#auth-user-pass# auth-user-passauth-user-passwd有没有办法让正则表达式只匹配第二行与 Golang?我尝试使用以下代码但它返回空切片package mainimport (    "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[]
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

您的字符串包含多行,因此您应该打开多行模式(带有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上尝试此片段。


查看完整回答
反对 回复 2023-03-15
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信