带变量的Ruby正则表达式

带变量的Ruby正则表达式,ruby,regex,Ruby,Regex,我想有一个正则表达式,其中包含一个变量 现在它看起来像是var=status.text[/.*.{keyword}.*现在可用。*/io] 但是变量破坏了正则表达式你说的“破坏”是什么意思? 它是开箱即用的 [36] pry(main)> a = 1 => 1 [37] pry(main)> /#{a}/ => /1/ 您可以先将变量放入字符串中,然后将字符串转换为regexp,如下所示: [4] pry(main)> keyword = "cat" =>

我想有一个正则表达式,其中包含一个变量

现在它看起来像是
var=status.text[/.*.{keyword}.*现在可用。*/io]


但是变量破坏了正则表达式

你说的“破坏”是什么意思? 它是开箱即用的

[36] pry(main)> a = 1
=> 1
[37] pry(main)> /#{a}/
=> /1/

您可以先将变量放入字符串中,然后将字符串转换为regexp,如下所示:

[4] pry(main)> keyword = "cat"
=> "cat"
[5] pry(main)> my_regexp = Regexp.new(".*#{keyword}.*is now available.*")
=> /.*cat.*is now available.*/    

你能提供更多的信息吗,比如“breaks”是什么意思?当我使用变量时,它不起作用,但是如果代码看起来像var=status.text[/.*randomword.*现在可用。*/io]它将在指定的关键字下工作?是用户输入的吗?值中可能有一个
\n
。。。请确保关键字的值是正确的I did.chomp去掉“/n”它仍然不起作用,尽管请编辑您的问题以解释为使代码正常工作所做的更改。如果您还有其他问题,请将其作为新问题发布。今后,在陈述问题时要更加小心,以确保问题的完整性和准确性。在这里,如果给出
status.text
keyword
的示例值、您期望的相关输出以及您得到的确切错误,会很有帮助。当我将变量放入regexIt时,它不起作用。你的错误信息是什么?