尝试以下方法:
func main(){
r := regexp.MustCompile(`(.)`)
for i := 0; i < 255; i++{
d := []byte{byte(i)}
all := r.FindAll(d, -1)
fmt.Println(all)
}
}
通配符不匹配字节10(即新行字符)。看起来像个bug。我认为正则表达式从来没有真正用于[]字节,但golang提供了[]字节函数,所以这是一种疏忽。
答案 0 :(得分:6)
您需要通过指定s
标志来告诉它与新行匹配:
r := regexp.MustCompile(`(?s)(.)`)
在操场上试试:http://play.golang.org/p/MK-UECa9AV
s
标志告诉解析器让.
匹配新行。