在Rails中使用常规exrpession进行搜索和替换时遇到问题

时间:2016-06-29 23:10:39

标签: regex ruby-on-rails-4 search replace

我正在使用Rails 4.2.3。我正在尝试使用相同的值替换我的URL中的参数,但添加“1”。例如,如果我的网址是

http://replace.mydomein.com/profiles/152/expanded?embed=true&page=2

我希望替换后的结果是

http://replace.mydomein.com/profiles/152/expanded?embed=true&page=3

所以我正在尝试这个

url = url.sub(/(\&<=page=)\d+/) {|m| m.to_i+1}

但它对我的网址没有影响。传递“http://replace.mydomein.com/profiles/152/expanded?embed=true&page=2”作为参数会产生相同的结果。我在上面的正则表达式中做错了什么?

1 个答案:

答案 0 :(得分:0)

您只需将正则表达式中的\&替换为?

url = url.sub(/(?<=page=)\d+/) { |m| m.to_i.next }

因为正面后视(?<=的语法就是这样。