标签: 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
但我觉得我没有将正则表达式用于他们的潜在或红宝石字符串方法,以充分发挥潜力。
感谢
答案 0 :(得分:2)
将String#sub与捕获组一起使用:
String#sub
"square".sub(/(.*qu)(.*)/, '\2\1ay') # => "aresquay"