[英]Syntax error in Ruby regexp containing @
我试图取代的特殊字符,如出现/
, :
与等在字符串*/*
, *:*
分别。
str.gsub!(/([;.\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')
但是,我得到一个SyntaxError
:
`@&' is not allowed as an instance variable name
syntax error, unexpected end-of-input, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
str.gsub!(/([;.\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*...
^ (SyntaxError)
我试图将该regexp定义为字符串,并使用RegExp.quote(...)
进行转换,但无济于事。 任何建议将不胜感激!
您只是忘了在正则表达式中转义/
符号:
str.gsub!(/([;.\\\/?:@&=+$,{}|^\[\]`<>#%"'])/, '*\1*')
^
否则,应使用@
后的有效变量名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.