guid的正则表达式

时间:2017-05-02 22:02:22

标签: regex go

我在使用正则表达式时遇到了一些问题。

  

错误:操作无效

re := regexp.MustCompile("(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)")
match := re.FindStringSubmatch(hex.EncodeToString([]byte(href)))
fmt.Println(match)

我想要匹配的测试字符串是

/data/1221a7f47-84c1-445e-a615-ff82d92e2eaa/article/jane;version=1493756861347

/data/1221a7f47-84c1-445e-a615-ff82d92e2eaa/article/john;version=1493756856398

匹配后期待跟随字符串

  1. 1221a7f47-84c1-445e-A615-ff82d92e2eaa
  2. 制品
  3. 1493756856398

1 个答案:

答案 0 :(得分:1)

您需要修复第一行,正确声明正则表达式。试试这些:

使用反斜杠(逃避)

re := regexp.MustCompile("(([a-f0-9]+\\-)+[a-f0-9]+)\\/(.*?)\\/(.*?);version=(\\d*)")

Try it out

使用原始字符串文字(`)

re := regexp.MustCompile(`(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)`)

Try it out