2016-12-07 28 views
1

这是在Jmeter中的请求输出中生成的,我需要捕获动态值。Jmeter中的动态字符串的正则表达式是什么?

<update id="javax.faces.ViewState"><![CDATA[-8480553014738537212:-8925834053543623028]]></update> 

输入中的 - (连字符)符号也是动态的。

我曾尝试处理这个使用

<update id="javax.faces.ViewState"><![CDATA[(.+?)]]></update> 

但是,这并没有帮助。请建议。

+0

'[''必须在正则表达式中转义。顺便说一句,为什么不使用[XPath Extractor](http://jmeter.apache.org/usermanual/component_reference.html#http://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor)? –

+0

@Wiktor Stribizew .. [输入输出中,我们需要捕获[] – user3627319

+0

中的值[''是CData块的一部分。如果你使用XPath Extractor,它将正确地解析XML,并且你将能够仅仅通过'/update[@id='javax.faces.ViewState']/text() –

回答

2

来获取数据的正确方法是使用XPath Extractor与以下XPath:

//update[@id='javax.faces.ViewState']/text() 

它得到update标签有id属性与javax.faces.ViewState值,并提取从这些节点中的文本。

您的正则表达式不正确,因为[(和字面点)必须在正则表达式中转义,并且可以固定为<update\s+id="javax\.faces\.ViewState"><!\[CDATA\[([^\]<]+)]]></update>。请参阅regex demo