-
Notifications
You must be signed in to change notification settings - Fork 174
Open
Description
验证字符串匹配模式
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`^\d+$`)
fmt.Println(re.MatchString("13877474"))
}
子模式匹配
package main
import (
"fmt";
"regexp"
)
func main() {
re := regexp.MustCompile("\\$\\{(.*?)\\}")
match := re.FindStringSubmatch("git commit -m '${abc}'")
fmt.Println(match)
}
SKU有两类一类是定值的比如"sku_goods1_9000_0",这种就需要验证下单参数的中的金额与SKU中的金额是否是一样, 另外一种充值订单对应的SKU不是定值的就不用验证,比如"sku_recharge_other_0",写一个函数完成这个功能。
// 检查创建订单时参数里的amount与skuSymbol中的amount是否一致
func checkSkuAmount(skuSymbol string, amount int64) bool {
if strings.Contains(skuSymbol, "other") {
return true
}
re := regexp.MustCompile(`[A-Za-z_]+?(\d+?)_\d+$`)
match := re.FindStringSubmatch(skuSymbol)
if match == nil {
return false
}
skuAmount, err := strconv.ParseInt(match[1], 10, 64)
if err != nil || skuAmount != amount {
return false
}
return true
}
正则替换
隐藏姓名中间部分,只展示首尾
func HideUserName(userName string) string {
if userName == "" {
return ""
}
re := regexp.MustCompile(`^(.).+?(.)?$`)
result := re.ReplaceAllString(userName, `$1*$2`)
return result
}
Metadata
Metadata
Assignees
Labels
No labels