2016-01-12 105 views
2

我想提取的響應頭中的以下文字:正則表達式提取的JMeter

Location: example.aspx?X+Gy/a4DwC/og== 
  1. 用正則表達式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

這不壞:)我沒有使用命名捕獲。雖然我不確定是否使用帶有後置子模式的已命名捕獲組很有意義。 :) –

+0

你根本沒有捕獲:-)至少不在這裏發佈的代碼。 – Jan

0

您可以使用以下模式:

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

參見regex101演示。