如何通过正则表达式从相同的数组点获取视图状态

时间:2018-06-11 08:42:05

标签: regex jmeter

我想从不同的类型中获取视图状态。

一个是html:

id="j_id1:javax.faces.ViewState:0" value="GKILT9kVeCjgGmRutjLtzOO840X+LyZk"  autocomplete="off" />

另一个是xml:

id="j_id1:javax.faces.ViewState:0"><![CDATA[GKILT9kVeCjgGmRutjLtzOO840X+LyZk]]></update>

当我运行正则表达式时,结果数组是不同的。一个结果是数组[1] [3],另一个结果是数组[1] [4]

我的正则表达式是这样的:

id="j_id1:javax.faces.ViewState:[\d]+"(><!\[CDATA\[(.+)\]\]|\svalue=")(.+)(\]\]><|"\sautocomplete)

如何获得结果相同的数组数据?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您希望单个正则表达式适用于这两种情况,您可以使用以下内容:

(?:(id="j_id1:javax.faces.ViewState:(\d+)" value="(.+?)"  autocomplete="off" />)|(id="j_id1:javax.faces.ViewState:(\d+)"><\!\[CDATA\[(.+?)\]\]></update>))

这将匹配来自两个输入的ViewState值,如View Results Tree侦听器的RegExp Tester模式所示。

JMeter Regular Expression Extractor Demo

更多信息: