Давайте сначала создадим вашу «многострочную строку», чтобы мы могли проверить это:
> page = %(hello\nvar skuProducts=[{"skuAttr":"200007763:201336100;491:200004763#145cm","skuPropIds":"201336100,200004763","skuVal":{"actSkuBulkCalPrice":"313.64"}}];\nworld\n)
Хорошо, теперь давайте извлечем данные с помощью регулярного выражения:
> skudata = page[/var skuProducts=\[(.+?)\];/, 1]
> puts skudata.inspect
{"skuAttr":"200007763:201336100;491:200004763#145cm", "skuPropIds":"201336100,200004763","skuVal":{"actSkuBulkCalPrice":"313.64"}}
Да, выглядитДа, мы можем прочитать это как JSON:
> require 'json'
> data = JSON.load(skudata)
> puts data["skyPropIds"]
201336100,200004763
Это работает.Hurray.