如何使用Golang正则表达式引用组

时间:2018-10-08 12:33:23

标签: regex go

我想匹配一些重复的数字,例如1111,但是'\ 1'在golang中是无效的转义序列。该怎么做?

reg := regexp.MustCompile(`(\d)\1{3}`)

2 个答案:

答案 0 :(得分:0)

golang的RE2引擎不支持反向引用。

答案 1 :(得分:-1)

为了匹配1111,可以使用以下代码:

https://play.golang.org/p/nOCQ-_V4ZtT

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile("1{4}$")
    fmt.Println(re.FindString("1111"))
}

如果必须匹配数字范围并根据问题中定义的\d字符,则可以使用[0-9]

https://play.golang.org/p/EerVMNbdiu3

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile("^[0-9]{10}$")
    fmt.Println(re.FindString("1234567890"))
}