package main import ( "fmt" "regexp" "strings" ) func main() { //==========================================================// //========================= 例子① =========================// //==========================================================// // 提取字符串里面的“张三~男~18~程序猿” str := "let info_ZhangSan='张三~男~18~程序猿';" regular := regexp.MustCompile("(?is)let info_\\S+='(\\S+)';") match := regular.FindStringSubmatch(str) fmt.Println(match[1]) // 张三~男~18~程序猿 info := strings.Split(match[1], "~") // 根据~把字符串转成切片 fmt.Println(info) // [张三 男 18 程序猿] fmt.Printf("俺叫%+v(%+v),今年%+v岁,职业是%+v。\n", info[0], info[1], info[2], info[3]) // 俺叫张三(男),今年18岁,职业是程序猿。 //==========================================================// //========================= 例子② =========================// //==========================================================// str = "20060102150405" // 没有用-和:隔开的时间日期字符串 regular = regexp.MustCompile("(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})") match = regular.FindStringSubmatch(str) fmt.Println(match) // [20060102150405 2006 01 02 15 04 05] yyyy := match[1] mm := match[2] dd := match[3] hh := match[4] ii := match[5] ss := match[6] fmt.Printf("%s-%s-%s %s:%s:%s \n", yyyy, mm, dd, hh, ii, ss) // 2006-01-02 15:04:05 }
Copyright © 2024 码农人生. All Rights Reserved