Nano Hash - криптовалюты, майнинг, программирование

Как использовать средство извлечения регулярных выражений при сопоставлении с использованием javascript в инструменте Webload PT?

Я могу извлечь значение из заданного выражения, используя левую и правую границы в Webload, но не могу извлечь конкретное значение (например, index) из следующего выражения с помощью экстрактора регулярных выражений:

index=2&Roll_ID=95372&NAME=ANDY&LastName=MURRAY&birthday

Если мы получили следующие 3 ответа на странице:

index=2&Roll_ID=9572&NAME=ANDY&LastName=MURRAY&a‌​mp& index=1&Roll_ID=7875&NAME=TOM&LastName=SHAW&& index=7&Roll_ID=8343&NAME=EMA&LastName=WINSTON&a‌​mp&Dirthday

Итак, каким должно быть наше регулярное выражение, чтобы поймать значение индекса (7) из последнего ответа, поскольку оно имеет дополнительный тег «День рождения». Я считаю, что в этом случае мы должны передать регулярные выражения для идентификатора рулона, имени и фамилии, поскольку мы не знаю, какой из них содержит день рождения .... хотя мы извлекаем значение Index.

Как и в LoadRunner, мы пишем регулярное выражение для захвата индекса следующим образом:

index=(.*?)&Roll_ID=.*?&NAME=.*?&LastName=.*?&Birthday

В Webload, как мы можем написать извлечь это значение?

Есть ли в Webload встроенная функция для использования экстрактора регулярных выражений?

Или как мы можем извлечь это значение с помощью кода JavaScript?


  • извините, но ни LoadUIWeb, ни WebLoad ничего не имеют с JMeter, исправьте теги, пожалуйста 16.03.2017

Ответы:


1

Вот быстрый пример JavaScript:

var str = "index=2&Roll_ID=95372&NAME=ANDY&LastName=MURRAY&"
var match_result = str.match(/index=([^&]*?)/);
var index_val  =  match_result[1];

В этом примере я предполагаю, что это будет стандартная строка запроса URI. Итак, в регулярном выражении match() я явно ищу index=, а затем получаю значение (все, что не является символом «&», *? перестает соответствовать при первом появлении «&»).

Для строк запроса, закодированных в HTML, вам нужно будет выполнить предварительный просмотр для «&», чтобы определить конец совпадения вашего значения.

15.03.2017
  • Спасибо, Карл, но если мы получили следующие 3 ответа на странице: index=2Roll_ID=9572NAME=ANDYLastName=MURRAY&& index=1Roll_ID=7875NAME=TOMLastName=SHAW&& index=7Roll_ID=8343NAME=EMALastName=WINSTON&&Birthday Итак, каким должно быть наше регулярное выражение чтобы поймать значение индекса (7) из последнего ответа, так как он имеет дополнительный тег День рождения Как я полагаю, в этом случае мы должны передать регулярные выражения для идентификатора рулона, имени и фамилии, поскольку мы не не знаю, какой из них содержит день рождения .... хотя мы извлекаем значение Index. 16.03.2017
  • Ах, попался. Ну, регулярное выражение, которое я написал выше, по-прежнему захватывает index без изменений. Однако, если вам нужно захватить значения, содержащие '&', и все ваши разделители значений ключа всегда будут кодироваться как '', то я думаю, что вам следует использовать опережающее утверждение для &, а не класс символов [^&]. Ваше регулярное выражение будет выглядеть так: /KeyName=(.*?(?=&|$))/ 16.03.2017
  • Спасибо... понял.... Однако следующий код также помог мне.. var str = Index=2Roll_ID=9572NAME=ANDYLastName=MURRAY&a‌​mp& index=1Roll_ID=7875NAME=TOMLastName=SHAW&& index=7Roll_ID =8343NAME=EMALastName=WINSTON&a‌​mp&Birthday; var re = /index=(.*?)Roll_ID=.*?ИМЯ=.*?Фамилия=.*?День рождения/г; var match_result = re.exec(str); переменная index_val = match_result[1]; Информационное Сообщение (index_val); Выход: 7 17.03.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..