Сложное регулярное выражение в выражение gsub - PullRequest
0 голосов
/ 09 февраля 2019

Я изо всех сил пытаюсь преобразовать регулярное выражение в успешное выражение gsub.

Я пытаюсь извлечь части URL, чтобы я мог заменить их сегментами определенного размера.

Например.

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

Однако я не добиваюсь успеха, пытаясь преобразовать это в выражение поиска и замены с помощью gsub.

Это то, что я до сих пор: resize_image_url = image_url.gsub(/[^/]*\/[^/]*\/0/, "full/500,/0,")где image_url - один из приведенных выше примеров URL.

Вот вывод ошибки:

lib / mixin.rb: 25: преждевременное завершение char-класса: / [^ /lib / mixin.rb: 25: синтаксическая ошибка, неожиданная ']', ожидаемая ')' ... mage_url = image_url.gsub (/ [^ /] / [^ /] / 0 /, "full / 500, / 0, ") ...
^ lib / mixin.rb: 25: преждевременное завершение char-класса: / [^ / lib / mixin.rb: 25: синтаксическая ошибка, неожиданная ']', ожидая keyword_end ... l = image_url.gsub (/ [^ /] / [^ /] / 0 /, "full / 500, / 0,") ...
^ lib/mixin.rb:25: синтаксическая ошибка, неожиданный ',', ожидаемый ключевое слово_end ... age_url.gsub (/ [^ /] / [^ /] / 0 /, "full / 500, /0, ") ...
^ lib / mixin.rb: 25: синтаксическая ошибка, неожиданный ')', ожидание keyword_end ... /] / [^ /] / 0 /,"full / 500, / 0, ")

Может ли кто-нибудь помочь в строительствеиз gsub пожалуйста?

1 Ответ

0 голосов
/ 11 февраля 2019

Заменить

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

на

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