2 回答
TA贡献1830条经验 获得超9个赞
您可以使用
re := regexp.MustCompile(`(?:\[\d{2}])+(.*)`)
match := re.FindStringSubmatch(s)
if len(match) > 1 {
return match[1] != ""
}
return false
该(?:\[\d{2}])+(.*)模式匹配 1+ 次出现[,2 个数字,]然后将除换行符之外的任何 0 个或更多字符捕获到组 1 中。然后,如果找到匹配项 ( if len(match) > 1),true则如果组 1 值不为空,则应返回 ( match[1] != ""),否则false返回。
请参阅Go 演示:
package main
import (
"fmt"
"regexp"
)
func main() {
strs := []string{
"[11][22][33]",
"___[11][22][33]",
"[11][22][33]____",
"[11][22]____[33]",
}
for _, str := range strs {
fmt.Printf("%q - %t\n", str, match(str))
}
}
var re = regexp.MustCompile(`(?:\[\d{2}])+(.*)`)
func match(s string) bool {
match := re.FindStringSubmatch(s)
if len(match) > 1 {
return match[1] != ""
}
return false
}
输出:
"[11][22][33]" - false
"___[11][22][33]" - false
"[11][22][33]____" - true
"[11][22]____[33]" - true
- 2 回答
- 0 关注
- 126 浏览
添加回答
举报