如何将匹配的正则表达式作为字符串存储在变量中

时间:2013-08-02 23:13:04

标签: ruby regex expression

有谁知道如何将匹配的正则表达式作为字符串并将其存储在变量中?如果我的字符串为"police"且我的正则表达式匹配它以获得"ice"的结果,那么我如何将"ice"存储在变量中?我的猜测是matchscanto_s方法。

我计划使用存储的字符串(使用正则表达式)传递给RAILS中aws-sdk的树接口方法中的:prefix选项,以与aws-s3对象进行交互。

2 个答案:

答案 0 :(得分:1)

有很多方法可以在Ruby中使用正则表达式。使用match运算符,您将获得一个MatchData对象,该对象可以使用to_s方法转换为String。如果你的正则表达式不匹配,你将得到nil而不是MatchData对象。

my_match = /ice/.match("police");
my_var = my_match.to_s;

或者一下子就这么做。如果正则表达式不匹配,则会得到一个空字符串。

my_var = /ice/.match("police").to_s;

答案 1 :(得分:0)

有很多选择,但是:

my_variable = /ice/.match("police")[0]

会将匹配的表达式分配给my_variable