繁体   English   中英

Ruby:Rubeque:regexp中的变量?

[英]Ruby: Rubeque: Variable in regexp?

我正在解决http://www.rubeque.com/problems/a-man-comma--a-plan-comma--a-canal--panama-excl-/solutions,但我对治疗有些困惑#{}作为regexp中的注释。 我的代码现在看起来像这样

def longest_palindrome(txt)
  txt[/#{txt.reverse}/]
end

我尝试了txt[/"#{txt.reverse}"/]txt[#{txt.reverse}]但没有如我所愿的工作。 我应该如何将变量包含在regexp中?

使用正则表达式无法做到这一点。

虽然您可以在正则表达式的构造中使用变量插值(请参见其他答案/评论),但这对您没有帮助。 您只能使用它来反转文字字符串,而不是正则表达式匹配结果。 即使可以,您仍然不会解决“查找最长回文”部分,至少不能以可接受的运行时性能解决。

使用不同的方法来解决此问题。

没有示例很难说出您希望如何实现,但是我想您会

txt[/#{Regexp.escape(txt.reverse)}/]

请参阅Regexp#escape方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM