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


网址: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]


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


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