导语:想根据gitlab地址获取项目的项目名,但是golang又不支持(?
正则匹配git项目的方法有2类
一种是https格式:https://github.com/abc/hello.git,项目名称是hello
一种是ssh格式:git@gitlab.xxx.com:XX/hello.git,项目名称是hello
正则表达式如下:
/(?<=\/)[^\/]+(?=\.git)/
在线正则测试效果如下
但运行报错如下
查了下资料说是go不支持正向lookahead(?= 之类的
分2步 先获取hello.git
[^\/]+(\.git)
第二步把.git去掉
strings.Trim(str, ".git")
运行结果如下