Как получить состояния просмотра из одной и той же точки массива с помощью регулярного выражения - PullRequest
0 голосов
/ 11 июня 2018

Я хочу получить состояния просмотра из разных типов.

Один находится в формате 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]

My Regex, подобный этому:

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

Как я могу получить результат с теми же данными массива?

Спасибо.

1 Ответ

0 голосов
/ 11 июня 2018

Если вы хотите, чтобы одно Регулярное выражение работало для обоих сценариев, вы можете использовать что-то вроде:

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

Это будет соответствовать значению ViewState из обоих входов, о чем свидетельствует режим RegExp Tester Просмотреть дерево результатов listener.

JMeter Regular Expression Extractor Demo

Дополнительная информация:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...