Golang 中的正则表达式 : How to set character that makes the string not match?

标签 regex go escaping backslash

我对正则表达式一窍不通(抱歉)。 我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为 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/

相关文章:

javascript - 如何将此代码从 golang 转换为 crypto hmac sha256 hex 中的 reactjs

go - 有没有内置的可以滚动的go logger

python - 如何检查字符串中的 unicode 或转义序列?

python - 在python Docstring中编写双反斜杠

java - 如何在 Java 代码中正确转义 SOQL 查询中的特殊字符(如 - ')?

json - 为什么结构字段显示为空?

regex - 用正则表达式替换重复字符

当它是一个对象时,具有转义字符问题的 Javascript 会变成两次

python - 这个简单的正则表达式有什么问题?

python - 如何获取所有可能的响应模式的容器名称?