go 正则

478 阅读1分钟

1. 匹配数值

//获取其中的数值 
s := "abcd#liu24.00000083laia189" 
//正则表达式
reg:=regexp.MustCompile(".*?(\\d+\\.*\\d+)")   
//匹配所有子集
regList := reg.FindAllStringSubmatch(s, -1)
fmt.Println(regList)                      
fmt.Println(regList[0][1], regList[1][1]) 

//输出结果
[[abcd#liu24.00000083 24.00000083] [laia189 189]]
24.00000083 189

2. 匹配字符串

str := `"chinaeast","Microsoft.Compute","","{""UsageType"":""ComputeHR_SW"",""ImageType"":null,""ServiceType"":""Standard_D3_v2"",""VMName"":null,""VMProperties"":null,""VCPUs"":""4""}","","","Unassigned"` 
//正则表达式
regVmName:=regexp.MustCompile(".*?(VMName.*?),")
//匹配所有子集
regList := regVmName.FindAllStringSubmatch(str, -1)  
fmt.Println(regList)         
fmt.Println(regList[0][1])   
//输出结果
[["chinaeast","Microsoft.Compute","","{""UsageType"":""ComputeHR_SW"",""ImageType"":null,""ServiceType"":""Standard_D3_v2"",""VMName"":null, VMName"":null]]
VMName"":null