我想从不同的类型中获取视图状态。
一个是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)
如何获得结果相同的数组数据?
谢谢。
答案 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
模式所示。
更多信息: