Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.05.2017
Сообщений: 12
Excel

Найти последнее вхождение регулярным выражением

31.01.2020, 23:14. Показов 1857. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть в том, что до недавнего времени массивы статусов отслеживания выдавало в обратной последовательности и мне нужен был первый, который есть, а теперь нужен последний. Собственно нужно переделать регулярное выражение, чтобы оно искало последнее вхождение.

Регулярное выражение:
Code
1
"""lastPoint"":.*?""id"":"".*?"",""eventDateTime"":""(.*?)"",""operationDateTime"":""(.*?)"",""operationAttribute"":""(.*?)"",""operationType"":""(.*?)"",""operationPlacePostalCode"":""(.*?)"",""operationPlaceName"":""(.*?)"""
Массив данных:
Code
1
{"status":"ok","data":{"trackCreationDateTime":"21.01.2020 16:57:36","trackUpdateDateTime":"31.01.2020 17:52:21","trackUpdateDiffMinutes":88,"trackDeliveredDateTime":"31.01.2020 12:49:50","fromCountryCode":"HK","fromCountry":"Honk Kong","fromName":"","destinationName":"Мис*** **********","destinationCountryCode":"","destinationCountry":"Russian Federation","destinationPostalCode":"241010","fromCity":"","destinationCity":"","fromAddress":"","destinationAddress":"","collectOnDeliveryPrice":"","declaredValue":"","deliveredStatus":"1","trackCodeModified":"","awaiting":true,"events":[{"id":"2608897999","eventDateTime":"23.01.2020 09:44:56","operationDateTime":"23.01.2020 11:31:00","operationAttribute":"Прием","operationType":"","operationPlacePostalCode":"","operationPlaceName":"Гонконг AMC","itemWeight":"0","source":"rupost","serviceName":"Почта России","operationAttributeInformation":"Означает, что зарубежный отправитель (продавец) принес Вашу посылку в местное почтовое отделение. При этом заполнил все необходимые документы, включая таможенную декларацию (формы CN 22 или CN 23). В это время отправлению присваивается уникальный почтовый идентификатор – специальный штриховой код (Трек-номер, Трек-код). Он находится в чеке (или квитанции), выдаваемом при приеме почтового отправления. Операция «Прием» показывает место, дату и страну приема отправления. После приема посылка движется на пути к месту международного обмена.","operationAttributeOriginal":"Прием","operationTypeOriginal":"","operationPlaceNameOriginal":"Гонконг AMC"},{"id":"2622234099","eventDateTime":"31.01.2020 17:52:21","operationDateTime":"31.01.2020 12:49:50","operationAttribute":"Прибыло в место вручения","operationType":"","operationPlacePostalCode":"241010","operationPlaceName":"Брянск 10","itemWeight":"86","source":"rupost","serviceName":"Почта России","operationAttributeInformation":"Означает прибытие отправления в отделение почтовой связи (ОПС) получателя, которое должно произвести вручение отправления получателю.  Как только отправление прибыло в отделение, сотрудники выписывают извещение (уведомление) о том, что отправление находится в отделении. Извещение отдают почтальону в доставку. Доставка осуществляется в день прибытия отправления в отделение или на следующий день (например, если отправления поступили в отделение вечером).<br><br>\nДанный статус указывает на то, что получатель может самостоятельно обратиться в почтовое отделение связи для получения отправления не дожидаясь извещения.\n<br><br>\nЕсли посылка была переупакованна в пакет с другими посылками, то для возможности получения Вам необходимо узнать трек-код общей посылки.","operationAttributeOriginal":"Прибыло в место вручения","operationTypeOriginal":"","operationPlaceNameOriginal":"Брянск 10"}],"itemWeight":"86","trackFirstOperationDateTime":"23.01.2020 11:31:00","daysInTransit":9,"daysTracking":11,"groupedCompanyNames":["Почта России"],"groupedEvents":"","lastPoint":"","destinationPostalAddress":"Брянская обл. г. Брянск Федюнинского проезд дом 18","destinationPostalPhones":"(4832) 55-04-46","destinationPostalWorkTime":"пн-пт :08:00-20:00  перерыв 13:00-14:00 сб :09:00-18:00  перерыв 13:00-14:00 вс :выходной"},"services":["UPU","HKPOST","CLVLNKS","EXP4PX","CAINIAO","DHLGR","JNET","FLYT","EMPSEXP"],"deliveredStat":{"minDeliveryDays":"10","averageDeliveryDays":"15","maxDeliveryDays":"19","type":"Регистрируемое почтовое отправление"},"id":"497c5fbe4be542a39f9bf69047dfae36","rpm":1,"totalTime":0.0874}
Более удобный вид для чтения
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{
    "status": "ok",
    "data": {
        "trackCreationDateTime": "21.01.2020 16:57:36",
        "trackUpdateDateTime": "31.01.2020 22:21:11",
        "trackUpdateDiffMinutes": 0,
        "trackDeliveredDateTime": "31.01.2020 12:49:50",
        "fromCountryCode": "HK",
        "fromCountry": "Honk Kong",
        "fromName": "",
        "destinationName": "Мис*** **********",
        "destinationCountryCode": "",
        "destinationCountry": "Russian Federation",
        "destinationPostalCode": "241010",
        "fromCity": "",
        "destinationCity": "",
        "fromAddress": "",
        "destinationAddress": "",
        "collectOnDeliveryPrice": "",
        "declaredValue": "",
        "deliveredStatus": "1",
        "trackCodeModified": "",
        "awaiting": true,
        "events": [
            {
                "id": "2608897999",
                "eventDateTime": "23.01.2020 09:44:56",
                "operationDateTime": "23.01.2020 11:31:00",
                "operationAttribute": "Прием",
                "operationType": "",
                "operationPlacePostalCode": "",
                "operationPlaceName": "Гонконг AMC",
                "itemWeight": "0",
                "source": "rupost",
                "serviceName": "Почта России",
                "operationAttributeInformation": "Означает, что зарубежный отправитель (продавец) принес Вашу посылку в местное почтовое отделение. При этом заполнил все необходимые документы, включая таможенную декларацию (формы CN 22 или CN 23). В это время отправлению присваивается уникальный почтовый идентификатор – специальный штриховой код (Трек-номер, Трек-код). Он находится в чеке (или квитанции), выдаваемом при приеме почтового отправления. Операция «Прием» показывает место, дату и страну приема отправления. После приема посылка движется на пути к месту международного обмена.",
                "operationAttributeOriginal": "Прием",
                "operationTypeOriginal": "",
                "operationPlaceNameOriginal": "Гонконг AMC"
            },
            {
                "id": "2622234099",
                "eventDateTime": "31.01.2020 17:52:21",
                "operationDateTime": "31.01.2020 12:49:50",
                "operationAttribute": "Прибыло в место вручения",
                "operationType": "",
                "operationPlacePostalCode": "241010",
                "operationPlaceName": "Брянск 10",
                "itemWeight": "86",
                "source": "rupost",
                "serviceName": "Почта России",
                "operationAttributeInformation": "Означает прибытие отправления в отделение почтовой связи (ОПС) получателя, которое должно произвести вручение отправления получателю.  Как только отправление прибыло в отделение, сотрудники выписывают извещение (уведомление) о том, что отправление находится в отделении. Извещение отдают почтальону в доставку. Доставка осуществляется в день прибытия отправления в отделение или на следующий день (например, если отправления поступили в отделение вечером).<br><br>\nДанный статус указывает на то, что получатель может самостоятельно обратиться в почтовое отделение связи для получения отправления не дожидаясь извещения.\n<br><br>\nЕсли посылка была переупакованна в пакет с другими посылками, то для возможности получения Вам необходимо узнать трек-код общей посылки.",
                "operationAttributeOriginal": "Прибыло в место вручения",
                "operationTypeOriginal": "",
                "operationPlaceNameOriginal": "Брянск 10"
            }
        ],
        "itemWeight": "86",
        "trackFirstOperationDateTime": "23.01.2020 11:31:00",
        "daysInTransit": 9,
        "daysTracking": 11,
        "groupedCompanyNames": [
            "Почта России"
        ],
        "groupedEvents": "",
        "lastPoint": "",
        "destinationPostalAddress": "Брянская обл. г. Брянск Федюнинского проезд дом 18",
        "destinationPostalPhones": "(4832) 55-04-46",
        "destinationPostalWorkTime": "пн-пт :08:00-20:00  перерыв 13:00-14:00 сб :09:00-18:00  перерыв 13:00-14:00 вс :выходной"
    },
    "services": [
        "RUPOST",
        "UPU",
        "HKPOST",
        "CLVLNKS",
        "EXP4PX",
        "CAINIAO",
        "DHLGR",
        "JNET",
        "FLYT",
        "EMPSEXP"
    ],
    "deliveredStat": {
        "minDeliveryDays": "10",
        "averageDeliveryDays": "15",
        "maxDeliveryDays": "19",
        "type": "Регистрируемое почтовое отправление"
    },
    "id": "352ecde1f8ca2d639a1c05963e48e779",
    "rpm": 0,
    "totalTime": 0.1191
}



Собственно получается есть массив events и с этого массива должно брать из последнего элемента массива такие аттрибуты как
operationDateTime, operationAttribute, operationType, operationPlacePostalCode, operationPlaceName

Прошу помочь мне разобраться в этом, а то уже голову сломал как это сделать

Добавлено через 44 минуты
Вопрос все же решил. Спасибо, неактуально
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2020, 23:14
Ответы с готовыми решениями:

Паттерн для поиска ИНН в строке регулярным выражением
Всем привет, прошу помочь составить паттерн(условие) для поиска ИНН регулярным выражением. Сам скрипт есть, нужен только паттерн... ...

Регулярным выражением выбрать всю строку, состоящую из цифр и букв в любом регистре, кроме последнего слова
Доброе утро. напишите, пожалуйста, регулярное выражение, которое выбирает всю строку, состоящую из цифр и букв в любом регистре, кроме...

Регулярным выражением найти все вхождения типа (*)
Всем доброго времени суток. Нужно из подстроки удалить все вхождения типа (*). Делаю вот так: TRegEx Re("(()){1}",...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2020, 23:14
Помогаю со студенческими работами здесь

Найти строки не начинающиеся с цифры 9 регулярным выражением
Здравствуйте! Помогите пожалуйста с составлением регулярного выражения. У меня есть список строк, у которых отличается только первая цифра,...

Как найти все ссылки шрифтов регулярным выражением?
Всем привет! Начал изучать регулярные выражения и возникла проблема при реализации одного проекта. Хочу найти ссылки на шрифты. Как я...

с регулярным выражением.
Имеем текст youtube.com/watch?v=LOZuxwVk7TU&ob=av2em нужно получить то что находится между /watch?v= и & в нашем случае...

Найти последнее вхождение подстроки в строку
Нужно нати последнее вхождение определенной подстроки в строку. Help!

Найти первое и последнее вхождение символа
Дана строка, слова в которой разделены хотя бы одним пробелом. Найти первое и последнее вхождение (номер позиции в строке) символа “*”....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru