如何在Ruby中使用正则表达式匹配括号

4

我目前正在尝试创建一个正则表达式,以查找此模式 /- - [/。然而,由于 [ 是一个特殊字符,我遇到了以下错误:

premature end of char-class: /- - [/ (SyntaxError)

我知道出现这种情况是因为编译器期望正则表达式中的[被关闭,但我需要它与我的模式匹配。我该怎么做?


1
使用反斜杠“\”进行转义:\[ - ctn
1个回答

3

是的,括号是正则表达式语法的一部分。如果您想匹配一个字面上的括号(或任何其他特殊符号),请使用反斜杠进行转义。

'foo[bar]' =~ /\[/ # => 3

做得非常好,感谢!正则表达式对我来说仍然很新,并且是我遇到的最令人困惑的事情之一。 - taylorc93
如果这解决了问题,您应该接受答案并将问题标记为已解决。 - Ro Yo Mi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接