Перейти к содержимому

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 15 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

Регулярные переменные с большим количеством совпадений


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Stuff

Stuff

    Новый участник

  • Members
  • Pip
  • 11 сообщений

Отправлено 08 Июнь 2018 - 07:40

{"page":{"offset":0,"limit":10000},"collection":[{"type":"Friend_bd","id":269158,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269159,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269160,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269161,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269162,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269163,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269053,"dateFormat":"MM/dd/YYYY"},{"type":"Friend_bd","id":269064,"dateFormat":"MM/dd/YYYY"}]}

Примерно такой респонс я получаю на определенный запрос. Как мне правильно задать регулярную переменную, которая будет тянуть отсюда все id ? Дело в том, что в другом урле мне необходимы все id, которые есть тут.


  • 0

#2 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 261 сообщений

Отправлено 08 Июнь 2018 - 08:29

"id":(.+?),
match no. = -1


  • 0

#3 Stuff

Stuff

    Новый участник

  • Members
  • Pip
  • 11 сообщений

Отправлено 08 Июнь 2018 - 08:42

"id":(.+?),
match no. = -1

Я думал попробовать через JSON Extractor с чекбоксом Compute concatenation var. Реально так?


  • 0

#4 soleksenko2702

soleksenko2702

    Постоянный участник

  • Members
  • PipPipPip
  • 190 сообщений
  • ФИО:Олексенко Сергей

Отправлено 08 Июнь 2018 - 10:10

в JSON Extractor:

JSON Path Expresion: $..id

Match No: -1

 

Использовать Compute concatenation var или нет зависит от того что вы с этими id будете делать дальше. Если Вы включите эту опцию, то получите все ваши id одной строкой через запятую.


  • 0

#5 Stuff

Stuff

    Новый участник

  • Members
  • Pip
  • 11 сообщений

Отправлено 08 Июнь 2018 - 10:22

в JSON Extractor:

JSON Path Expresion: $..id

Match No: -1

 

Использовать Compute concatenation var или нет зависит от того что вы с этими id будете делать дальше. Если Вы включите эту опцию, то получите все ваши id одной строкой через запятую.

Именно это мне и нужно, большое спасибо))


  • 0

#6 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 719 сообщений
  • ФИО:Dmitry Petrov

Отправлено 02 Июль 2018 - 06:15

В варианте выше идёт затратный по ресурсам вариант регулярки поиска строки, так как он ищет любое кол-во символов между id и , . На больших текстах лучше не использовать выражения типа "+?", может привести к "бесконечному" выполнению поиска.

 

вот вам ответ:

https://regex101.com/r/NNuI6Y/1

 

вообще очень полезный ресурс, пользуйтесь на здоровье.

ну и просто выражение вот:

\id\":(\d{6})\,

  • 0


Тестирование производительности (JMeter)
онлайн, начало 28 сентября
Тестирование удобства использования
онлайн, начало 24 октября
Тестирование REST API
онлайн, начало 22 октября
Тестирование веб-приложений 2.0
онлайн, начало 12 октября



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале