我有这样的代码
re, err = regexp.Compile(`\p{Han}*`)
if err != nil {
fmt.Println(err)
return
}
s := "foo中文哦woqu"
fmt.Println(re.FindString(s))
但是它打印为空。
然后我将\p{Han}*
更改为\p{Han}+
,它显示“中文哦”。
将\p{Han}*
更改为\p{Han}?
,它打印为空。
我找到了这样的文档:
- x* 零个或多个x,更倾向于多个
- x+ 一个或多个x,更倾向于多个
- x? 零个或一个x,更倾向于一个
所以我期望我的打印结果是:
\p{Han}*
打印“中文哦”\p{Han}+
打印“中文哦”\p{Han}?
打印“中”
有人能告诉我发生了什么吗?
{Han}
而不需要其他。 - Tornikeregexp.Compile(\
\p{Han}`)` - Tornike