golang正则表达式

在工作中我自己关于正则表达式的用法

例如匹配文件名

var (
	fileNamePattern = "^[^+-./\t\b@#$%*()\\[\\]][^/\t\b@#$%*()\\[\\]]{1,254}$"
	fileRegex       = regexp.MustCompile(fileNamePattern)
)

func main() {
	text := os.Args[1]
	res := fileRegex.FindAllString(text, -1)
	isValid := len(res) != 0
	fmt.Println(isValid)
}

码工具

问号可以跟在原字符后面, 表示非贪婪匹配;

go 标准库

go标准库的正则表达式的用法
根据正则表达式获取re对象:

re := regexp.MustCompile(IPPattern) // re as *regexp.Regexp
re.FindAllString(text, -1) // return slice

完整代码

func testRe() {  
    textTrue := "{asdfasdfasdf}"  
    text1 := "asdfasdf"  
    pattern := `\{.+\}`  
    regex := regexp.MustCompile(pattern)  
    trueVal := regex.FindAllString(textTrue, -1)  
    if len(trueVal) != 0 {  
       fmt.Printf("success: trueVal got %v\n", len(trueVal))  
    }  
  
    firstVal := regex.FindAllString(text1, -1)  
    if len(firstVal) != 0 {  
       fmt.Printf("success: text1 got %v\n", len(firstVal))  
    }  
}
posted @   潜行1  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示