Регулярное выражение для извлечения одного идентификатора из массива значений в Jmeter - PullRequest
0 голосов
/ 27 апреля 2018

Регулярное выражение для извлечения одного идентификатора из массива значений в Jmeter

некоторые ответы имеют несколько значений в organization_ids, а некоторые ответы будут иметь одно значение.

Текущее регулярное выражение получает значения как:

"org_ids":(\[.*?\])

ответы: "org_ids": 1234

некоторые ответы: "org_ids": [ "12234", "133424", "234324"]

Когда в массиве присутствует несколько значений, необходимо получить только одно значение.

Ответ: "org_ids": [ "5a7c2", "56d0da", "5727"]

Пожалуйста, укажите, какое регулярное выражение может давать только одно значение из вышеуказанного массива.

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Ваш ответ выглядит как JSON , поэтому анализ его с помощью регулярных выражений не лучшая идея, вы можете легко добиться того же, используя JSON Extractor

  1. Добавить JSON Extractor как дочерний элемент запроса, который возвращает вышеуказанные данные
  2. Настройте его следующим образом:

    • Имена созданных переменных: что-либо значимое, т.е. org_id
    • Выражения пути JSON: $..org_ids[*]
    • Матч №: 0
  3. Вот и все, теперь у вас будет случайный org_id, доступный как ${org_id} Переменная JMeter.

Ссылки:

0 голосов
/ 27 апреля 2018

Вы группируете весь массив. Вы можете сгруппировать только первый удар:

"org_ids":\["([^"]*)".*

Таким образом, группа включает один ", затем наибольшее возможное не " совпадение, затем один ". Или исправляя то, что у вас есть:

"org_ids":\["(.*?)".*

Так что не жадный поиск всего между двумя ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...