2016-03-11 6 views
2

Имея немного головной боли со сценарием, я пытаюсь в Google Таблицах.Запрос REGEX в Google Таблицах

Вкратце, мы хотим использовать Google Таблицы с ImportXML для создания очищенного фида с веб-сайтов клиентов, вытягивающих детали продукта.

Вот ссылка на меньшую версию документа. https://docs.google.com/a/sprt.co.za/spreadsheets/d/1dSbglYniWa_cijb6yDty576j33CTk9Cf8J38a3VXHSU/edit?usp=sharing

В настоящее время этот конкретный клиент имеет только цену товара и т. Д. В текстовой области кода. Поэтому, когда я использую = ImportXml ($ C $ 2, "// textarea"), он дает мне всю текстовую область в двух ячейках. Из этих ячеек, фактически только второй, мне нужно вытащить детали, но я довольно застрял в Regex на куске, если данные такие большие.

" { ""id"": ""061013AACI9"", ""productId"": ""061013AACI9"", ""name"": ""VANS MEN'S 
PERFORATED LEATHER ERA"", ""price"": ""R 799.00"", ""oldPrice"": """", ""brand"": 
""Vans"", ""brandURL"": ""/plp/vans/_/N-1z140je"", ""defaultImages"": [ ], 
""images"": [ { ""thumb"": 
""http://tfgsrv.wigroup.co/06/Thumbnail/31460739.jpg"", ""large"": 
""http://tfgsrv.wigroup.co/06/Detail/31460739.jpg"" } , { ""thumb"": 
""http://tfgsrv.wigroup.co/06/ThumbnailAlternative/31460739_01.jpg"", 
""large"": ""http://tfgsrv.wigroup.co/06/DetailAlternative/31460739_01.jpg"" } 
, { ""thumb"": 
""http://tfgsrv.wigroup.co/06/ThumbnailAlternative/31460739_02.jpg"", 
""large"": ""http://tfgsrv.wigroup.co/06/DetailAlternative/31460739_02.jpg"" } 
, { ""thumb"": 
""http://tfgsrv.wigroup.co/06/ThumbnailAlternative/31460739_03.jpg"", 
""large"": ""http://tfgsrv.wigroup.co/06/DetailAlternative/31460739_03.jpg"" } 
], ""transientProfile"": ""true"", ""wishListId"": ""anonymous"", ""colors"": [ { 
""id"": ""31460739"", ""name"": ""White"", ""path"": 
""http://tfgsrv.wigroup.co/06/ColourSwatch/31460739_SW.jpg"", ""activeColor"" : 
true, ""available"" : true } ], ""sizes"": [ { ""id"": ""31460740_06"", ""name"": 
""6"", ""available"": false } , { ""id"": ""31460741_06"", ""name"": ""7"", 
""available"": true } , { ""id"": ""31460742_06"", ""name"": ""8"", ""available"": true 
} , { ""id"": ""31460743_06"", ""name"": ""9"", ""available"": false } , { ""id"": 
""31460744_06"", ""name"": ""10"", ""available"": true } , { ""id"": ""31460745_06"", 
""name"": ""11"", ""available"": false } ], ""productType"" : ""ColourSize"" } " 

Мне нужно вытащить значение R 799.00 из этого беспорядка. Поэтому, если кто-то хочет помочь. Потому что, честно говоря, мой талант и умение проработали, конечно, в попытке ориентироваться в RegEx.

+0

Ваш документ не является публичной, никто не может посмотреть, что https://docs.google.com/a/ sprt.co.za/spreadsheets/d/1dSbglYniWa_cijb6yDty576j33CTk9Cf8J38a3VXHSU/edit?usp=sharing –

+0

Спасибо, документ уже открыт. – Charl

ответ

1

Попробуйте это:

""price"":\s""([^"]+)"" 

Demo

Выход:

MATCH 1 
1. [124-132] `R 799.00` 
+0

RegEx работает красиво, спасибо. Также работает для вытягивания других значений из текстовой области, поэтому двойной бонус. Теперь, пытаясь заставить RegEx работать в таблицах. = REGEXEXTRACT (E3, '"" цена "": \ s "") Не радует. – Charl

+0

попробуйте это '= REGEXEXTRACT (E3," цена . *?: \ s. (. *?) .., ")' –

+1

'= REGEXEXTRACT (E3," price \ W *: \ W * (. *?) \ W?, ")' RE2 синтаксис регулярных выражений ссылка https://re2.googlecode.com/hg/doc/syntax.html –

Смежные вопросы