不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • GO基础

  • 面向对象

  • 并发编程

  • 常用库

    • 01.fmt
    • 02.Time包
    • 03.encoding/json包
    • 04.Flag
    • 05.Log
    • 06.IO操作
    • 07.Strconv
    • 08.net/http
    • 09.Context
    • 10.反射
    • 11.zap日志包
    • 12.viper配置管理
    • 13.gRPC
    • 14.jwt-go
    • 15.go-wrk压测
    • 16.Makefile
    • 17.cobor
    • 18.logrus
    • 19.cron定时
    • 20.machinery
    • 21.regexp2
      • 01.regexp2
    • 22.lo
    • 23.泛型
    • 24.pprof
  • 数据库操作

  • Beego框架

  • Beego商城

  • GIN框架

  • GIN论坛

  • 微服务

  • 设计模式

  • Go
  • 常用库
xiaonaiqiang
2022-09-16
目录

21.regexp2

# 01.regexp2

  • Regexp2:https://blog.csdn.net/dianxin113/article/details/118769094

  • GitHub:https://github.com/dlclark/regexp2

package main

import (
	"fmt"
	"github.com/dlclark/regexp2"
)

func Regexp2GroupMatch(m *regexp2.Match, re *regexp2.Regexp) [][]string {
	var matches [][]string
	for m != nil {
		var ret []string
		gps := m.Groups()
		for index, g := range gps {
			if index == 0 {
				continue
			}
			ret = append(ret, g.Captures[0].String())
		}
		matches = append(matches, ret)
		m, _ = re.FindNextMatch(m)
	}
	return matches
}

func CompileRegexp(regex string) (*regexp2.Regexp, error) {
	msgRegexp, e := regexp2.Compile(regex, 0)
	if e != nil {
		fmt.Println(e)
	}
	return msgRegexp, nil
}

func main() {
	str := "2022-8-12 2023-8-11"
	expr := "(\\d{4})-(\\d{1,2})-(\\d{1,2})" // [[2022 8 12]]
	reg, _ := CompileRegexp(expr)
	m, _ := reg.FindStringMatch(str)
	ret := Regexp2GroupMatch(m, reg)
	fmt.Println(ret) // [[2022 8 12] [2023 8 11]]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
上次更新: 2024/3/13 15:35:10
20.machinery
22.lo

← 20.machinery 22.lo→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式