Мой пример текста выглядит следующим образом:
30","formatedMinDeliveryDate":null,"formatedMaxDeliveryDate":null,"actualDeliveryDate":null,"trackingNumber":"ID180135116580CN","shippmentTrackingUrl":"https:\u002F\u002Fwww.057872.m2749.l5119","localizedCurrency":null}},"actions":[{"label":"Leave feedback","icon":null,"value":null,"action":"link","actionParam":{"label":"LEAVE_FEEDBACK_FOR_SELLER","u
Я хочу получить число ID180135116580CN
, и у меня возникают проблемы с достижением этого с помощью регулярного выражения.
Файл заполненони и я делаю это
out_file = File.open('public/orders.txt').each do |line|
p line[/(?<="trackingNumber":")[^"]*(?=")/]
end
, но он печатает только nil
и не извлекает искомое число.
Является ли регулярное выражение неправильным или мне нужноперебрать файл по-разному?
В основном после каждого trackingNumber
я хочу получить все, что есть в кавычках после него.
Спасибо!
Редактировать:
Попытка сделать это в соответствии с предложением @ WiktorStribiżew в комментариях
p line.scan(/"trackingNumber"\s*:\s*"([^"]+)"/)
Теперь я получаю все trackingNumbers в виде массива, подобного этому
[["UB08578YP"], ["UB085789YP"], ["ID180135791CN"], ["ID180135728CN"]]
Как мне изменить это наполучить их в отдельных строках, как это?
UB08578YP
UB085789YP
ID180135791CN
ID180135728CN