gsub表达式的复杂正则表达式

时间:2019-02-09 18:03:44

标签: regex ruby gsub

我正在努力将正则表达式转换为成功的gsub表达式。

我正在尝试提取部分网址,以便可以替换为特定大小的段。

例如。

https://example.com//images/1971AW/full/full/0/default.jpg 要么 https://example.com//images/1971AW/140,870,1800,1778/full/0/default.jpg

都应转换为: https://example.com//images/1971AW/500,/full/0/default.jpg

我使用了正则表达式编辑器,发现以下表达式突出显示了我希望的部分。达到目标: [^/]*\/[^/]*\/0

但是,尝试将其转换为find并将其替换为gsub时,我没有获得任何成功。

这是我到目前为止的内容: resize_image_url = image_url.gsub(/[^/]*\/[^/]*\/0/, "full/500,/0,") 其中image_url是上面的url示例之一。

以下是错误输出:

  

lib / mixin.rb:25:char-class的提早结束:/ [^ / lib / mixin.rb:25:   语法错误,意外的']',预期为')'... mage_url =   image_url.gsub(/ [^ /] / [^ /] / 0 /,“ full / 500,/ 0,”)...
  ^ lib / mixin.rb:25:char-class的提早结束:/ [^ / lib / mixin.rb:25:   语法错误,意外的']',期望keyword_end ... l =   image_url.gsub(/ [^ /] / [^ /] / 0 /,“ full / 500,/ 0,”)...
  ^ lib / mixin.rb:25:语法错误,未预期的',',期望keyword_end   ... age_url.gsub(/ [^ /] / [^ /] / 0 /,“ full / 500,/ 0,”)...
  ^ lib / mixin.rb:25:语法错误,意外的')',需要keyword_end   ... /] / [^ /] / 0 /,“ full / 500,/ 0,”)

请问有人可以协助gsub的构建吗?

1 个答案:

答案 0 :(得分:0)

替换

resize_image_url = image_url.gsub(/[^/]*\/[^/]*\/0/, "full/500,/0,")

resize_image_url = image_url.gsub(/[^\/]*\/[^\/]*\/0/, "full/500,/0,")