Golang 正则表达式引用子匹配

我试图从正则表达式中提取一个子匹配值,但如果需要,它可以忽略一组引号。到目前为止,我有这个:


网址:http : //play.golang.org/p/lcKLKmi1El


package main


import "fmt"

import "regexp"


func main() {

  authRegexp := regexp.MustCompile("^token=(?:\"(.*)\"|(.*))$")


  matches := authRegexp.FindStringSubmatch("token=llll")

  fmt.Println("MATCHES", matches, len(matches))


  matches = authRegexp.FindStringSubmatch("token=\"llll\"")

  fmt.Println("MATCHES", matches, len(matches))

}

Input::Expected Matches


token=llll::[token=llll llll]


token="llll"::[token="llll" llll]


另请注意,我想测试没有引号或一组引号。我不希望能够有不匹配的引号或任何东西。


如何摆脱返回的空字符串?有没有更好的正则表达式来摆脱引号?


拉风的咖菲猫
浏览 256回答 2
2回答

小唯快跑啊

请尝试以下操作:authRegexp := regexp.MustCompile("^token=(.*?|\".*?\")$")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go