Ruby regexp中的语法错误包含@

Ruby regexp中的语法错误包含@,ruby,regex,ruby-on-rails-4,Ruby,Regex,Ruby On Rails 4,我试图将字符串中出现的特殊字符(如/,:)分别替换为*/*,*:*) str.gsub!(/([;.\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*') 我试图将该regexp定义为一个字符串,并使用regexp.quote(…)对其进行转换,但没有成功。如有任何建议,将不胜感激 您只是忘记在正则表达式中转义/符号: str.gsub!(/([;.\\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')

我试图将字符串中出现的特殊字符(如
/
)分别替换为
*/*
*:*

str.gsub!(/([;.\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')

我试图将该regexp定义为一个字符串,并使用
regexp.quote(…)
对其进行转换,但没有成功。如有任何建议,将不胜感激

您只是忘记在正则表达式中转义
/
符号:

str.gsub!(/([;.\\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')
                 ^
str.gsub!(/([;.\\\/?:@&=+$,{}|^\[\]`#%"'])/, '*\1*')
^

否则,应在
@
之后输入一个有效的变量名。

您只是忘记在正则表达式中转义
/
符号:

str.gsub!(/([;.\\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')
                 ^
str.gsub!(/([;.\\\/?:@&=+$,{}\\[\]`\\%'])/,'*\1*'))
^

否则,需要在
@
之后有一个有效的变量名。

您只是忘记了转义正则表达式中的
/
符号:
str.gsub!(/([;。\\\/?:@&=+$,{}124\\[\]`\\%']/,'*\ 1*')
。在您的情况下,RoR在
@
之后需要一个有效的变量名。您只是忘记了转义正则表达式中的
/
符号:
str.gsub!(/([;。\\\\/:&=+$,{124\\\\\\\\\\\\\[]%],{35\\\\\\\\\\\\\]%],
,)。在您的情况下,RoR要求在
@
之后有一个有效的变量名。我建议在字符集中重新排列转义反斜杠和转义斜杠,以便于阅读和理解。我建议在字符集中重新排列转义反斜杠和转义斜杠,以便于阅读和理解。