使用带有正则表达式Ruby的独占范围

时间:2014-01-08 03:58:31

标签: ruby regex range

如何使用寻找独占范围的正则表达式将此代码转换为一行?

我使用了包含范围的正则表达式:

word = "square"
if word.include?("qu")
    word2=word
    two = word.slice!(word[/.*qu/])
    one = word2.slice(word)
    puts one + two + "ay"
end

但我觉得我没有将正则表达式用于他们的潜在或红宝石字符串方法,以充分发挥潜力。

感谢

1 个答案:

答案 0 :(得分:2)

String#sub与捕获组一起使用:

"square".sub(/(.*qu)(.*)/, '\2\1ay')
# => "aresquay"