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})+|[^\])\*([^\*]+)\*
我对正则表达式一窍不通(抱歉)。 我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为 HTML。 这是我使用的粗体示例:
var bold = regexp.MustCompile("\*([^\*]+)\*")
它匹配两个星号之间的所有内容。现在,我希望它匹配 *test*
但不匹配 \*test*
。由于我对正则表达式知之甚少,但我正在尝试进行此实验,因此我想知道这样做的方法是什么。我到处搜索,但找不到完成这项工作的方法。
已更新
Go 不支持回顾。所以解决方法可以是:
(?:\A|(?:[^\]+|\A)(\{2})+|[^\])\*([^\*]+)\*