go语⾔正则表达式之匹配特定中⽂字(转码篇)// transer
package main
import (
"fmt"
"regexp"
"strconv"
// "strings"
)
func Transer(newstr string) string {
return strconv.QuoteToASCII(newstr)
}
unicode字符转中文
func main() {
fmt.Println("将要转换的编码中⽂字是:今天有烤鸭吃,哈哈!")
str := "今天有烤鸭吃,哈哈! ! abc"
str1 := Transer(str)
fmt.Printf("中⽂变为unicode码,略略略:“ 今天有烤鸭吃,哈哈!”变: %s", str1)
fmt.Println()
str2 := "⼩是正则表达式要匹配的字符串包含中英⽂vsdfvsva猪cas飞天demicgwegr//lwe;rgc了"
fmt.Println(str2)
fmt.Println("请匹配:字符串是否以“⼩”开头中间按顺序有“d”,有“猪”,以“了“结尾”")
fmt.Println(strconv.QuoteToASCII("⼩")) //转换为unicode
fmt.Println(strconv.QuoteToASCII("猪"))
fmt.Println(strconv.QuoteToASCII("了"))//先答应出来查看对应转码,再在匹配规则中添加
//regex := `^[\u5c0f].*?d.*[\\u732a].*[\u4e86]$`
regex := `[\\u5c0f]` + `.*[\\u732a].*d.*[\\u4e86]`
//regex := strconv.QuoteToASCII("⼩")
fmt.Printf("匹配规则如下:\n%s", regex)
s1 := regexp.MustCompile(regex)
fmt.Println()
fmt.Println(s1.MatchString(str2))
}
//匹配运⾏的结果如下: