Regex 包含斜杠和asterix作为常量的正则表达式

Regex 包含斜杠和asterix作为常量的正则表达式,regex,go,Regex,Go,我正在使用Golang,并试图确定哪个正则表达式将用于匹配以以下开头的任何字符串: /* 很难获得它,我尝试了很多方法(我没有将它们全部保存在这里写入),但其中一些方法是: {/*}.*? //*.*? //\\*[A-Za-z0-9_-]*$ 您需要用反斜杠转义*:^/\*。但是,如果使用普通引号,还需要转义反斜杠本身: “^/\\*” 或者,您可以使用原始字符串文字,它不需要反斜杠转义: `^/\*` 操场链接:如果要匹配整个源文本,正则表达式必须以^ 并以$(锚定)结尾 要匹配/,只需

我正在使用Golang,并试图确定哪个正则表达式将用于匹配以以下开头的任何字符串:

/*
很难获得它,我尝试了很多方法(我没有将它们全部保存在这里写入),但其中一些方法是:

{/*}.*?
//*.*?
//\\*[A-Za-z0-9_-]*$

您需要用反斜杠转义
*
^/\*
。但是,如果使用普通引号,还需要转义反斜杠本身:

“^/\\*”

或者,您可以使用原始字符串文字,它不需要反斜杠转义:

`^/\*`


操场链接:

如果要匹配整个源文本,正则表达式必须以
^
并以
$
(锚定)结尾

要匹配
/
,只需使用
/
。在某些其他主机语言中(例如Javascript或Perl) 斜杠用作正则表达式分隔符,因此要将斜杠用作内容 对于正则表达式,您必须用反斜杠来逃避它,但在go中不需要这样做

要匹配
*
请使用
\*
。不能只使用
*
(正如沃尔克所建议的那样),因为它是一个量词,意思是0或更多

当您想要匹配整个字符串时(不仅仅是
/*
),下一部分 应为
*
(任意字符数)

如果您想捕获捕获组中字符串的“其余部分”,请环绕 这部分用括号括起来

复杂化的最后一步:通常在
/*
之后有一些空格 只有在它们之后,你才真正想要抓住碎片。在这种情况下:

  • \s*
    开始(可选白字符序列)
  • 然后放入
    (.*)
因此,最终的解决方案是:
^/\*\s*(.*)$

有关工作示例,请参见

编辑 如果将正则表达式写成字符串,则在双引号中,反斜杠
必须编写两次。

与任何其他语言一样:^/*如果这是您唯一的要求,请不要使用正则表达式。请改用
字符串。HasPrefix
。抱歉。我输入了反斜杠,但它似乎没有进入注释的输出。当然,我没有提议/*。