Golang 中的正则表达式:如何设置使字符串不匹配的字符?

Regex in Golang: How to set character that makes the string not match?

我对正则表达式一窍不通(抱歉)。 我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为 HTML。 这是我使用的粗体示例:

var bold = regexp.MustCompile("\*([^\*]+)\*")

它匹配两个星号之间的所有内容。现在,我希望它匹配 *test* 但不匹配 \*test*。由于我对正则表达式知之甚少,但我正在尝试进行此实验,因此我想知道这样做的方法是什么。我到处搜索,但找不到完成这项工作的方法。

已更新

Go 不支持回顾。所以解决方法可以是:

(?:\A|(?:[^\]+|\A)(\{2})+|[^\])\*([^\*]+)\*