2016-01-12 3 views
2

Я пытаюсь извлечь следующий текст в заголовке ответа:Регулярные выражения Extraction Jmeter

Location: example.aspx?X+Gy/a4DwC/og== 
  1. С RegEx Location: (.*), я могу получить это: example.aspx?X+Gy/a4DwC/og==

  2. С RegEx Location: example.aspx?(.*) Мне это удалось: ?X+Gy/a4DwC/og==

Но мне нужно только извлечь X+Gy/a4DwC/og== без знака вопроса.

ответ

1

Вы можете использовать для просмотра назад сказать, что вам нужно, чтобы соответствовать все, начиная после ?:

(?<=[?]).* 

См regex demo. Вы можете заменить * на +, чтобы соответствовать как минимум 1 символу. Используйте шаблон $0$ с этим выражением.

Another alternative используется повторное выражение для захвата [?](.*) с шаблоном $1$.

+0

Позор мне, видел ваш ответ слишком поздно (набрал один из моих собственных). – Jan

+0

Это не плохо :) Я не использовал именованный захват. Хотя я не уверен, что использование названной группы захвата с подшаблоном lookbehind имеет смысл. :) –

+0

Вы вообще не занимались :-) По крайней мере, не в коде, размещенном здесь. – Jan

0

Вы можете использовать следующую схему:

(?<=[?])(?<query>.*) 
# Positive lookbehind looking for a question mark 
# start a named capturing group called query, this will hold your output 

Посмотреть демо на regex101.

Смежные вопросы