Regex 包含斜杠和asterix作为常量的正则表达式
我正在使用Golang,并试图确定哪个正则表达式将用于匹配以以下开头的任何字符串:Regex 包含斜杠和asterix作为常量的正则表达式,regex,go,Regex,Go,我正在使用Golang,并试图确定哪个正则表达式将用于匹配以以下开头的任何字符串: /* 很难获得它,我尝试了很多方法(我没有将它们全部保存在这里写入),但其中一些方法是: {/*}.*? //*.*? //\\*[A-Za-z0-9_-]*$ 您需要用反斜杠转义*:^/\*。但是,如果使用普通引号,还需要转义反斜杠本身: “^/\\*” 或者,您可以使用原始字符串文字,它不需要反斜杠转义: `^/\*` 操场链接:如果要匹配整个源文本,正则表达式必须以^ 并以$(锚定)结尾 要匹配/,只需
/*
很难获得它,我尝试了很多方法(我没有将它们全部保存在这里写入),但其中一些方法是:
{/*}.*?
//*.*?
//\\*[A-Za-z0-9_-]*$
您需要用反斜杠转义
*
:^/\*
。但是,如果使用普通引号,还需要转义反斜杠本身:
“^/\\*”
或者,您可以使用原始字符串文字,它不需要反斜杠转义:
`^/\*`
操场链接:如果要匹配整个源文本,正则表达式必须以
^
并以$
(锚定)结尾
要匹配/
,只需使用/
。在某些其他主机语言中(例如Javascript或Perl)
斜杠用作正则表达式分隔符,因此要将斜杠用作内容
对于正则表达式,您必须用反斜杠来逃避它,但在go中不需要这样做
要匹配*
请使用\*
。不能只使用*
(正如沃尔克所建议的那样),因为它是一个量词,意思是0或更多
当您想要匹配整个字符串时(不仅仅是/*
),下一部分
应为*
(任意字符数)
如果您想捕获捕获组中字符串的“其余部分”,请环绕
这部分用括号括起来
复杂化的最后一步:通常在/*
之后有一些空格
只有在它们之后,你才真正想要抓住碎片。在这种情况下:
- 从
开始(可选白字符序列)\s*
- 然后放入
(.*)
^/\*\s*(.*)$
有关工作示例,请参见
编辑
如果将正则表达式写成字符串,则在双引号中,反斜杠
必须编写两次。与任何其他语言一样:^/*如果这是您唯一的要求,请不要使用正则表达式。请改用
字符串。HasPrefix
。抱歉。我输入了反斜杠,但它似乎没有进入注释的输出。当然,我没有提议/*。