我对正则表达式一窍不通(抱歉)。 我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为 HTML。 这是我使用的粗体示例:
var bold = regexp.MustCompile("\\*([^\\*]+)\\*")
它匹配两个星号之间的所有内容。现在,我希望它匹配 *test*
但不匹配 \*test*
。由于我对正则表达式知之甚少,但我正在尝试进行此实验,因此我想知道这样做的方法是什么。我到处搜索,但找不到完成这项工作的方法。
最佳答案
已更新
Go 不支持回顾。因此,解决方法可以是:
(?:\A|(?:[^\\]+|\A)(\\{2})+|[^\\])\*([^\\*]+)\*
关于Golang 中的正则表达式 : How to set character that makes the string not match?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38677976/