Ruby gsub!用正则表达式保存单词

Ruby gsub!用正则表达式保存单词,ruby,regex,Ruby,Regex,我想使用gsub将字符串行“variable.to_s”转换为“str(variable)”与正则表达式。我现在有 string = "variable.to_s" string.gsub!(/\w+\.to_s/,/str(\w)/) 这显然不起作用,因为您不能在gsub的第二部分中使用正则表达式,但如何保留gsub部分中的\w,但替换.to\s部分?您捕获了错误的内容: string.gsub!(/(\w+)\.to_s/, 'str(\1)') gsub和gsub将字符串或正则表达式作

我想使用
gsub将字符串行
“variable.to_s”
转换为
“str(variable)”
与正则表达式。我现在有

string = "variable.to_s"
string.gsub!(/\w+\.to_s/,/str(\w)/)

这显然不起作用,因为您不能在gsub的第二部分中使用正则表达式,但如何保留gsub部分中的
\w
,但替换
.to\s
部分?

您捕获了错误的内容:

string.gsub!(/(\w+)\.to_s/, 'str(\1)')
gsub
gsub将字符串或正则表达式作为第一个参数,将字符串或块作为第二个参数。您正在向这两个节点发送正则表达式


如果您需要在第二部分中使用匹配的一部分,请使用括号捕获它。您在代码中无意中这样做了,但这是错误的。

您捕获了错误的内容:

string.gsub!(/(\w+)\.to_s/, 'str(\1)')
gsub
gsub将字符串或正则表达式作为第一个参数,将字符串或块作为第二个参数。您正在向这两个节点发送正则表达式


如果您需要在第二部分中使用匹配的一部分,请使用括号捕获它。您在代码中无意中做到了这一点,但这是错误的。

这太神奇了!非常感谢。一旦允许,我就接受你的回答!这太棒了!非常感谢。一旦允许,我就接受你的回答!