dosc9472 2017-05-02 22:02
浏览 195
已采纳

guid的正则表达式

I'm having some issues with following regular expressions.

Error: Invalid operation

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

my test strings that I'm trying to match are

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

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

Expecting following strings after match

  1. 1221a7f47-84c1-445e-a615-ff82d92e2eaa
  2. article
  3. jane
  4. 1493756856398
  • 写回答

1条回答 默认 最新

  • doutaoer3148 2017-05-02 22:20
    关注

    You need to fix the first line, declare the regex correctly. Try these:

    Using backslashes (to escape)

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

    Try it out

    Using raw string literals (`)

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

    Try it out

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?