github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/pkg/utils/string/match.go (about) 1 package stringUtils 2 3 import ( 4 "regexp" 5 "strings" 6 ) 7 8 func MatchString(expect string, actual string, langType string) bool { 9 expect = strings.TrimSpace(expect) 10 actual = strings.TrimSpace(actual) 11 12 expect = strings.Replace(expect, "%s", `.+?`, -1) // 字符串 13 expect = strings.Replace(expect, "%i", `[+\-]?[0-9]+`, -1) // 十进制数字,可有符号 14 expect = strings.Replace(expect, "%d", `[0-9]+`, -1) // 十进制数字,无符号 15 expect = strings.Replace(expect, "%x", `[0-9a-fA-F]+`, -1) // 十六进制数字 16 expect = strings.Replace(expect, "%f", `[+\-]?\.?[0-9]+\.?[0-9]*(E-?[0-9]+)?`, -1) // 十进制浮点数 17 expect = strings.Replace(expect, "%c", ".", -1) // 单个字符 18 19 pass, _ := regexp.MatchString(expect, actual) 20 return pass 21 }