blackfriday markdown的自动换行 go lang 正则替换字符串时遇到的坑,转义解析其中的 $1 $name 等

在 使用go langblackfridaymarkdown 解释器时遇到换行问题,在他的配置里面没有回车自动换行这个配置(还是我没找到?),所以自己做了一个
风.foxwho
以下是错误的,改正的在最后

/**
	Markdown自动换行
 */
func MarkdownAutoNewline(str string) string {
	re, _ := regexp.Compile(\"\\\\ *\\\
\")
	str = re.ReplaceAllString(str, \"  \
\")
	//m.Content=strings.Replace(m.Content, \"\
\", \"  \
\", -1)
	reg := regexp.MustCompile(\"```([\\\\s\\\\S]*)```\")
	//返回str中第一个匹配reg的字符串
	data := reg.Find([]byte(str))
	strs := strings.Replace(string(data), \"  \
\", \"\
\", -1)
	re, _ = regexp.Compile(\"```([\\\\s\\\\S]*)```\")
	return re.ReplaceAllString(str, strs)
}

在go lang中,正则替换 函数名中不带Literal的字符时,默认转义/解析其中的 $1 $name 等,
所以这里的正则替换要使用ReplaceAllLiteralString 这个函数

改正后的

/**
	Markdown自动换行
 */
func MarkdownAutoNewline(str string) string {
	re, _ := regexp.Compile(\"\\\\ *\\\
\")
	str = re.ReplaceAllLiteralString(str, \"  \
\")
	//m.Content=strings.Replace(m.Content, \"\
\", \"  \
\", -1)
	reg := regexp.MustCompile(\"```([\\\\s\\\\S]*)```\")
	//返回str中第一个匹配reg的字符串
	data := reg.Find([]byte(str))
	strs := strings.Replace(string(data), \"  \
\", \"\
\", -1)
	re, _ = regexp.Compile(\"```([\\\\s\\\\S]*)```\")
	return re.ReplaceAllLiteralString(str, strs)
}